使用replace方法替换innerHTML以及在Javascript中不起作用的正则表达式

replacing innerHTML using replace method along with regular expressions not working in Javascript

本文关键字:Javascript 不起作用 正则表达式 方法 replace 替换 innerHTML 使用      更新时间:2023-09-26

我有这个菜单,它是从后端生成的。脚本会在当前菜单项中添加一个">>",如下所示。

        <ul class="links">                      
                    <li class="active"><a href="news-265.html" style="color: white;">News &amp; Views</a> » </li>
                    <li><a href="facts-269.html">Quick Facts </a>  </li>
                    <li><a href="media-releases-268.html">Media Releases</a>  </li>
                    <li><a href="gallery-270.html">Photo Gallery</a>  </li>
                    <li><a href="social-media-271.html">Social Media Channels</a>  </li>
                    <li><a href="contacts-272.html">Media Contacts </a>  </li>
                    </ul>

根据我在netuts 上看到的一个教程,我尝试使用JavaScript使用replace方法和正则表达式将>>替换为空字符串

这是我的javascript函数

 (function(){
  var elm = $('.active');  
  elm = elm[0].innerHTML;   
  elm.replace(/>>/,"");   
})();

任何提示都将不胜感激。谢谢这是我的JSBIN 的链接

http://jsbin.com/ipenARe/8/edit

$(function(){
 var elm = $('.active'); 
 var txt=elm.html();
 elm.html(txt.replace(/»/,""));   
});

使用纯JS,http://jsbin.com/ipenARe/10/edit

 (function(){
       var elm =document.getElementsByClassName('active')[0]; 
       var txt=elm.innerHTML;
       elm.innerHTML=txt.replace(/»/,"");   
 })();

尝试常规exp来排除特殊字符,包括(>>)

yourText.replace(/[_'W]+/g, "");

示例演示

EDITED对于您的特定情况,您只需要保留"元素,因此可以执行以下操作:

var elm = $('.active').children("a");  
$('.active').html(elm);