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

时间:2024-04-16 10:04:26

关于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()的执行结果,再把这个变量赋值给要改变的内容即可实现功能。