在一个范围内包装所有非html号码

时间:2012-08-10 02:53:17

标签: jquery html replace

所以我拼凑了其他几个人的代码来实现这一点,但是当其他元素的html部分存在数字时它会出现问题。我想要做的是在一个范围内包装页面上的所有数字。我现在的代码:

$(function(){
        $('#page').html(function(i, v) {
                            v = v.text();
            return v.replace(/(\d+)/g, '<span class="caps">$1</span>');
        });
    });

问题是,如果我的页面上有一个图像,其文件名类似于'test123.png',它会尝试将123包裹在一个范围内。

如何修改此代码,使其仅使用元素文本而不使用html?

提前致谢

1 个答案:

答案 0 :(得分:3)

此插件正是您所需要的

http://benalman.com/projects/jquery-replacetext-plugin/

  

jQuery replaceText将替换指定元素中的文本。注意   只修改文本内容,保留所有标签和属性   不变。