【问题标题】:Need to wrap specified content需要包装指定内容
【发布时间】:2012-06-06 06:06:50
【问题描述】:

这是我的代码,这条消息来自动态

<div class="left">6 item(s) - Page 1 of 3 </div>

需要改变

<div class="left"> <span>6</span> item(s) - Page <span>1</span> of <span>3</span> </div>

有什么想法吗?

【问题讨论】:

  • 看到这个:link

标签: jquery html


【解决方案1】:
var div = $('.left');
div.html(div.html().replace(/(\d+)/g, '<span>$1</span>'));

【讨论】:

  • 我什么时候可以学习正则表达式 :(。无论如何 +1 以获得如此好的和精确的解决方案。
【解决方案2】:

用“空格”分割文本。您将获得项目数组。拿索引,我想它总是一样的,然后在上面加上你的“span”。

【讨论】:

    【解决方案3】:

    这对我有用。 我只是检查一个单词是否是一个数字。如果是,我将其包装在 span

    var left = $('.left');
    var html = left.html().split(' ');
    for(var i=0,len=html.length;i<len;i++){ 
        if(!isNaN(html[i]) && html[i]!=''){
            html[i] = '<span>' + html[i] + '</span>';
        }
    }
    left.html(html.join(' ')); 
    

    【讨论】:

      【解决方案4】:

      使用 jQuery 自带的隐式循环来重置每个匹配元素的 html。

      ​$(".left").html(function(i,v){
          return v.replace( /(\d+)/g, "<span>$1</span>" );
      });​​
      

      小提琴:http://jsfiddle.net/jonathansampson/gEYEE/

      【讨论】:

        猜你喜欢
        • 2013-01-21
        • 2013-09-20
        • 1970-01-01
        • 2020-07-30
        • 2013-02-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多