我有以下HTML结构:
<div class="mydiv">
<ul>
<li>Text 1</li>
<li>Text 2</li>
</ul>
<ul>
<li>Text 3</li>
<li>Text 4</li>
</ul>
<ul>
<li>Text 5</li>
</ul>
</div>
我想找到一个包含"4"的字符串,并将其替换为"four"。这个div
的其他li
元素的其他字符串对我来说不再感兴趣。如果我只知道我应该搜索哪个div
而不知道哪个li
元素,我怎么做呢?
你可以使用:contains选择器
$( "div li:contains('4')" ).text(function(_, val) {
return val.replace(/4/, "four")
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="mydiv">
<ul>
<li>Text 1</li>
<li>Text 2</li>
</ul>
<ul>
<li>Text 3</li>
<li>Text 4</li>
</ul>
<ul>
<li>Text 5</li>
</ul>
</div>
只需在父div的HTML上使用replace,然后使用替换的内容重置HTML:
$(".mydiv" ).html($(".mydiv" ).html().replace(/4/, "four"))
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="mydiv">
<ul>
<li>Text 1</li>
<li>Text 2</li>
</ul>
<ul>
<li>Text 3</li>
<li>Text 4</li>
</ul>
<ul>
<li>Text 5</li>
</ul>
</div>