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

使用replace方法替换innerHTML以及不在Javascript中工作的正则表达式,javascript,jquery,regex,string,Javascript,Jquery,Regex,String,我有这个菜单,它是从后端生成的。脚本将向当前菜单项添加一个“>>”,如下所示 <ul class="links"> <li class="active"><a href="news-265.html" style="color: white;">News &amp; Views</a> » </li>

我有这个菜单,它是从后端生成的。脚本将向当前菜单项添加一个“>>”,如下所示

        <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>

任何提示都将不胜感激。谢谢这里是我编辑的

的链接。对于您的特定情况,您希望只保留“”元素,因此可以执行以下操作:

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

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

使用纯JS


Jquery已经用作
$(“.active”)
,这就是为什么我还添加了这个解决方案;)我回答得太快,text()不起作用,无论如何都会删除链接…:/*再次编辑*使用innerHTML对这样的操作来说是一个很大的禁忌吗?我尝试过使用文本和文本内容操作,但它们似乎不起作用。我想你想要的是用
  • 元素替换
    内容。我认为它们是一样的。谢谢你指出。谢谢,它起作用了。我没有考虑过使用html(),但是有没有一种方法可以用纯Javascript实现呢?
    
    var elm = $('.active').children("a");  
    $('.active').html(elm);
    
    yourText.replace(/[_\W]+/g, "");
    
    $(function(){
     var elm = $('.active'); 
     var txt=elm.html();
     elm.html(txt.replace(/»/,""));   
    });
    
     (function(){
           var elm =document.getElementsByClassName('active')[0]; 
           var txt=elm.innerHTML;
           elm.innerHTML=txt.replace(/»/,"");   
     })();