我需要jquery来改变所有页面中的数字.例如,我想要改变1比1,所以我尝试这样:
$("*").each(function(){ $(this).html( $(this).html().replace(1,"۱") ); })
解决方法
这不是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);
在行动here中看到它.