如何使用jQuery删除主列表项的锚点?

时间:2015-01-28 13:03:23

标签: jquery

我的列表如下:

<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());

但它删除了包括子项在内的所有锚点。我希望脚本只为第一级项目执行,而不是更深层次的项目。

1 个答案:

答案 0 :(得分:1)

您可以为replaceWith提供一个功能,该功能提供this关键字作为当前a元素的参考。然后,您可以返回元素的text()以进行替换。

$('#menuContainer > ul > li > a').replaceWith(function() {
    return $(this).text();
});

Example fiddle