以下是我的HTML:
<ul>
<li>Fruits
<ul>
<li>Apple</li>
<li>Mango</li>
<li>Banana</li>
<li>Orange</li>
<li>Guava</li>
</ul>
</li>
</ul>
<ul>
<li>Cars</li>
</ul>
<ul>
<li>Bikes</li>
</ul>
<ul>
<li>Cities
<ul>
<li>Lucknow</li>
<li>Kanpur</li>
<li>Varanasi</li>
<li>Delhi</li>
<li>Ghaziabad</li>
</ul>
</li>
</ul>
<ul>
<li>Countries</li>
</ul>
<ul>
<li>Celebrities</li>
</ul>
我想用“西瓜”替换列表项“Banana”。我编写了以下jQuery代码并且工作正常:
$("li").slice(3, -12).text("Watermelon");
但是,要计算索引号并将其传递给slice()
,我想,这不是正确的方法。所以我想通过文本“Banana”进行搜索,并将其替换为“Watermelon”文本。
答案 0 :(得分:3)
像
这样的东西$("li").filter(function(){ return $(this).text() == "Banana"; }).replaceWith( "<li>Watermelon</li>");
我相信你想做的不仅仅是更换字符串。
jQuery的 replaceWith 用完全新的元素替换匹配的元素。
答案 1 :(得分:0)
您可以调用此函数来替换值并将banana传递为text_to_search,将西瓜传递为
function replace_function(text_to_search,text_to_replace){
$('ul li').each(function () {
$(this).text === text_to_search ? $(this).text(text_to_replace) : '';
});
}