使用字符串搜索和替换替换子元素中单词的出现

时间:2016-12-06 17:04:20

标签: javascript html dom

我有一个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>

为什么字符串替换函数只替换属性值而不是所有匹配项?我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

我把它全部搞定了。感谢海报回答我的问题然后将其删除(出于某种原因)。因此,它使用匹配模式而不是字符串。所以,现在,工作版看起来像这样:

 sidenav_chevron.innerHTML = sidenav_chevron.innerHTML.replace(/chevron_left/g, "chevron_right");