每次 str1 显示在特定 div 中时,我需要将字符串 (str1) 替换为另一个字符串 (str2)。
这是我到目前为止得到的
<script type="text/javascript">
$(window).load(function(){
var str=document.getElementById("foo").innerHTML;
var n=str.replace("Google","Yahoo");
document.getElementById("foo").innerHTML=n;
});
</script>
和html
<div id="foo">
Google is the best website ever <br />
Google is not the best website ever</div>
不幸的是,当我运行它时,它只替换了 Google 一词的第一个实例。
我究竟做错了什么?我需要添加什么才能使其替换该单词的所有实例?
使用正则表达式/string/g
要替换所有出现的情况,您使用的子字符串将仅替换第一次出现的情况,如文档所示代替() https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace功能。
现场演示 http://jsfiddle.net/y3RDu/
var n=str.replace(/Google/g,"Yahoo");
String.prototype.replace() https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replaceReplace() 方法返回一个新字符串,其中模式的部分或全部匹配项被替换所替换。模式可以是字符串或正则表达式,替换可以是字符串或为每个匹配调用的函数。
str.replace(regexp|substr, newSubStr|函数)
您正在使用 substr 模式,它将仅替换第一次出现的情况。
子字符串(模式)
将被 newSubStr 替换的字符串。它被视为
逐字字符串并且不被解释为正则表达式。仅有的
第一次出现的将被替换。
使用此正则表达式模式替换所有出现的情况。
正则表达式(模式)
RegExp 对象或文字。比赛被替换为
参数#2 的返回值。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)