How can I replace html parts with replace()
?
>
The problem is that .replace
only replaces first occurence. If you want to replace all occurences, you must use a regular expression with a g
(global) flag:
var e = $("div"),
fix = e.html().replace(/google\.com/g, "duckduckgo.com");
e.html(fix);
Demo
Remember you must escape special characters such as .
, though. If you prefer, you can use
String.prototype.replaceAll = function(s1, s2) {
return this.replace(
new RegExp( s1.replace(/[.^$*+?()[{\|]/g, '\\$&'), 'g' ),
s2
);
};
var e = $("div"),
fix = e.html().replaceAll('google.com', "duckduckgo.com");
e.html(fix);
Demo