迭代 <li> 并将文本替换为 jquery
Iterate over <li> and replace text with jquery
我有以下 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 selector
$( "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 上使用替换,然后使用替换后的内容重置 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>
我有以下 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 selector
$( "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 上使用替换,然后使用替换后的内容重置 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>