0

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

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

但是,问题在于,如果我的页面上有一个文件名类似于“test123.png”的图像,它会尝试将 123 包装在一个跨度中。

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

提前致谢

4

1 回答 1

3

这个插件正是你需要的

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

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

于 2012-08-10T03:00:59.597 回答