我正在尝试使用JQuery来搜索和替换给定字符串的所有实例。 JQuery是我发现的唯一一种不强制重新加载整个页面的方法。这就是我现在所拥有的:
<script>
$("*").each(function () {
if ($(this).children().length == 0) {
$(this).html($(this).html().replace('0101','0102'));
}
});
</script>
现在,这会在页面上用0102替换 0101的大多数实例,但它不会替换href链接中的实例。有谁知道为什么?我真的需要这个来找到/替换整个文档,通过和完成。
答案 0 :(得分:1)
添加此
$(this).attr('href', $(this).attr('href').replace('0101','0102'));
.html()方法只会替换元素中的html。
.attr()允许您访问当然是href的元素的属性。
答案 1 :(得分:0)
我相信你的问题在于使用.replace()
。如果使用字符串作为搜索值,则仅替换第一个匹配项。您需要使用带有global-flag的正则表达式:
$(this).html($(this).html().replace(/0101/g,'0102'));