我的列表如下:
<div id="menuContainer">
<ul id="menu">
<li><a href="#1">Main Item 1</a></li>
<li><a href="#2">Main Item 2</a>
<ul>
<li><a href="#21">Sub Item 2.1</a></li>
<li><a href="#22">Sub Item 2.2</a></li>
<li><a href="#22">Sub Item 2.3</a></li>
</ul>
</li>
<li><a href="#3">Main Item 3</a>
<ul>
<li><a href="#31">Sub Item 3.1</a></li>
<li><a href="#32">Sub Item 3.2</a></li>
</ul>
</li>
</ul>
</div>
我只想删除“主要商品”的<a>
标签。
我尝试过使用
$('#menuContainer > ul > li > a').replaceWith($('#menuContainer > ul > li > a').text());
但它删除了包括子项在内的所有锚点。我希望脚本只为第一级项目执行,而不是更深层次的项目。
答案 0 :(得分:1)
您可以为replaceWith
提供一个功能,该功能提供this
关键字作为当前a
元素的参考。然后,您可以返回元素的text()
以进行替换。
$('#menuContainer > ul > li > a').replaceWith(function() {
return $(this).text();
});