为了账号安全,请及时绑定邮箱和手机立即绑定

Jquery wrap() - 正斜杠前的字符`/`

Jquery wrap() - 正斜杠前的字符`/`

偶然的你 2021-12-02 15:24:53
在正斜杠之前,/我可以wrap()在 HTML 标签中输入字符吗?我想将所有字符包装到一个 HTML 元素之前/jQuery 片段:var x = jQuery('.elementor-drop-cap-yes p').contents().filter(function(){  return this.nodeType === 3}).wrap('<span class="drop-caps" />');当前结果:<p>  <span class="a">    <span class="b">1</span>  </span>  0/10</p>预期结果:<p>  <span class="a">    <span class="b">1</span>  </span>  <div class="c">    <b class="d">0</b>/10  <div></p>提前致谢!
查看完整描述

1 回答

?
米琪卡哇伊

TA贡献1998条经验 获得超6个赞

您可以尝试以下简单的逻辑来实现 html 包装


jQuery(function(){

  jQuery('.elementor-drop-cap-yes p').each(function(){

     var $div = jQuery('<div/>');

     var $children = $(this).children();

     $div.append($children);

     var text = jQuery(this).text();

     if(text.indexOf('/')>=0) {

        var index = text.indexOf('/');

        //console.log(index);

        var textParts = text.substring(0, index);

        var newHTML = '<div class="c"><b class="d">' + text.substring(0, index) +'</b>' + text.substring(index, text.length) + '</div>';

        jQuery(this).empty().append($children).append(newHTML);

     }

  });

});

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<div class="elementor-drop-cap-yes">

<p>

    <span class="a">

         <span class="b">1</span>

     </span>

    0/10

</p>

</div>


查看完整回答
反对 回复 2021-12-02
  • 1 回答
  • 0 关注
  • 164 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信