编辑**这不是重复的标记为
编辑**我问是否有正则表达式解决方案,可以轻松实现到我当前的代码中,而不是重新工作
我有像
这样的对象finalList = {bla: 100, foo: 200, baz: 300}
尝试制作一个脚本,用我在当前网站上查看的数组中的相应值替换单词。我的问题是,它还替换了HTML代码中匹配的单词,如img
标签等
<div>
<p class="baz">bla foo words</p>
<a href="/img/Hello_World_bla.png">
<img src="/img/Hello_World_bla.png">
</a>
</div>
如果我们使用上面的例子作为我们的当前页面&#34;我希望在运行脚本后能够:
<div>
<p class="baz">100 200 words</p>
<a href="/img/Hello_World_bla.png">
<img src="/img/Hello_World_bla.png">
</a>
</div>
我真正得到的是:
<div>
<p class="300">100 200 words</p>
<a href="/img/Hello_World_100.png">
<img src="/img/Hello_World_100.png">
</a>
</div>
正如您所看到的,这导致了一个问题,因为它破坏了页面中的元素。
这是我目前正在使用的代码部分,它提供了不良结果:
var a = finalList;
for (var i = 0; i < a.length; i++) {
// use a for loop to loop through the array
// now grab each item:
var item = a[i];
// grab the text:
var text = item.text;
var frequency = item.frequency;
var re = new RegExp(text,'gi');
replaced = $("body").html().replace(re, frequency);
$("body").html(replaced);
console.log(text, " replaced with: ", frequency);
}