关于JavaScript中replace()函数替换没有效果的一种解决方案


定义和用法

  replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。

语法

  stringObject.replace(regexp/substr,replacement)

参数 描述
regexp/substr

必需。规定子字符串或要替换的模式的 RegExp 对象。

请注意,如果该值是一个字符串,则将它作为要检索的直接量文本模式,而不是首先被转换为 RegExp 对象。

replacement 必需。一个字符串值。规定了替换文本或生成替换文本的函数。

  

  但是,在做练习的时候想要把某个标签内的文本内容替换掉,且传的参数都是变量,发现调用了replace()函数并没有完成替换,输出在控制台,发现虽然内部已经完成了替换,但是在页面上并没有显示出效果,        

ul[0].getElementsByTagName('li')[0].innerHTML.replace(new RegExp(sOld,'g'),sNew);

 

  解决:

var change = ul[0].getElementsByTagName('li')[0].innerHTML.replace(sOld,sNew);
ul[0].getElementsByTagName('li')[0].innerHTML = change;

    最后通过定义一个变量保存把replace()的执行结果,再把这个变量赋值给要改变的内容即可实现功能。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM