Shi*_*TCo 4 regex jquery replace
我需要jquery来改变所有页面中的数字.例如,我想要改变1比1,所以我尝试这样:
$("*").each(function(){
$(this).html( $(this).html().replace(1,"?") );
})
Run Code Online (Sandbox Code Playgroud)
但这也将改变css规则和属性.是否有任何技巧可以逃脱css和属性?
这不是jQuery自然适合的工作.而不是让jQuery获取所有元素的平面列表,而是自己递归遍历DOM树,搜索文本节点以执行替换.
function recursiveReplace(node) {
if (node.nodeType == 3) { // text node
node.nodeValue = node.nodeValue.replace("1", "?");
} else if (node.nodeType == 1) { // element
$(node).contents().each(function () {
recursiveReplace(this);
});
}
}
recursiveReplace(document.body);
Run Code Online (Sandbox Code Playgroud)
在这里看到它.
| 归档时间: |
|
| 查看次数: |
5182 次 |
| 最近记录: |