从li标签内的字符串替换/删除文本的最佳方法
我正在使用ExpressionEngine中的站点地图列表(因此我没有太多关于如何呈现内容的灵活性)并且我需要从字符串中删除单词“Parent”(如果它存在)。
下面是HTML输出的示例:
我尝试了以下jQuery没有运气,只是根本没有替换这个词:
$(document).ready(function(){ if($('li:contains("Parent")')){ $(this).replace('Parent',''); }; });
正如您所看到的,我正在尝试使用jQuery。 任何人都可以对正确的方法有所了解吗?
jQuery没有replace
方法,它是字符串的本机方法,这意味着你必须首先将文本作为字符串获取 ,例如使用text()
,然后再将返回的字符串返回
$(document).ready(function(){ $('li > a:contains("Parent")').text(function(_, txt) { return txt.replace('Parent',''); }); });
您可以将replace()
方法与regex一起使用,以确保替换该单词的所有实例。 用字符串replace()
只会替换第一次出现。
$(document).ready(function(){ var elements = $('li'); elements.html(elements.html().replace(/Parent/gi, '')); });