我需要使用jQuery在页面上更改一堆不同的单词。这是我到目前为止的代码:
(function($) {
var thePage = $("body");
thePage.html(thePage.html().replace([/My Classes/g, 'My Levels'],));
})(jQuery)
如何修改此代码以便查找和替换更多单词?可以说我也想用“猫”取代“狗”,用“女孩”取代“男孩”。
答案 0 :(得分:3)
您可以做的是链接替换值,例如:
thePage.html(thePage.html().replace([/My Classes/g, 'My Levels'],))
.replace([/dog/g, 'cat'],))
.replace([/bird/g, 'pen'],));
编辑:
以下是您在jsfiddle
上提供的更新代码(function($) {
$(function(){
var thePage = $("body");
thePage.html(thePage.html().replace(/My Classes/g, 'My Levels').replace(/dog/g, 'cat').replace(/bird/g, 'pen'));
});
})(jQuery)
和jsfiddle链接:
答案 1 :(得分:1)
在here
之上尝试这个优雅的解决方案for (var val in array)
text= text.split(val).join(array[val]);
您可以定义表示搜索和替换术语的键值对数组,然后像这样循环遍历它。不需要jQuery!
答案 2 :(得分:0)
你绝不需要jQuery
这样做,但是在不知道你在做什么的情况下给出一个好的答案是非常困难的。例如,“dog”和“boy”可以出现在单词中。你想要替换那些实例,还是仅仅用完整的单词?如果它们属于属性 - 或者它们本身是属性或元素,该怎么办?有某种优先权吗?
也就是说,JavaScript String
无法一次替换多个单词。您可以链接.replace
,也可以实现以下内容:
String.prototype.replaceMulti = function (args) {
for (var x = 0; x < args.length; x++) {
this = this.replace(args.from, args.to);
}
}
thePage.html(thePage.html().replaceMulti([{from: /dog/g, to: 'cat'}]);