我有一个javascript函数,假设要替换子元素的类名和内部文本。我页面的大致相关部分如下所示:
<a class="c1 c2">
<i _ngcontent-qde-3="" class="material-icons rightIcon" ng-reflect-inner-h-t-m-l="chevron_left">chevron_left</i>
</a>
我想用chevron_right替换所有出现的chevron_left。这是我的javascript代码:
var innerHTML = sidenav_chevron.innerHTML;
sidenav_chevron.innerHTML = innerHTML.replace("chevron_left", "chevron_right");
但是,上述代码仅将ng-reflect-inner-h-t-m-l的值替换为chevron_right。而不是“i”标签的内部文本。结果如下:
<a class="c1 c2">
<i _ngcontent-qde-3="" class="material-icons rightIcon" ng-reflect-inner-h-t-m-l="chevron_right">chevron_left</i>
</a>
为什么字符串替换函数只替换属性值而不是所有匹配项?我该如何解决这个问题?
答案 0 :(得分:0)
我把它全部搞定了。感谢海报回答我的问题然后将其删除(出于某种原因)。因此,它使用匹配模式而不是字符串。所以,现在,工作版看起来像这样:
sidenav_chevron.innerHTML = sidenav_chevron.innerHTML.replace(/chevron_left/g, "chevron_right");