JQuery如何查找和删除li元素

时间:2012-04-21 01:08:31

标签: jquery jquery-selectors

我正在尝试使用JQuery来查找和删除<li> <a href="/arb/node/53/grouping/edit/">Edit group</a> </li>而根本没有运气。

请告诉我实现此目的。

<ul class="tabs secondary">
<li class="active">
<a href="/arb/node/53/grouping">View</a>
</li>
<li>
<a href="/arb/node/53/grouping/add">Add new Group</a>
</li>
<li>
<a href="/arb/node/53/grouping/edit/">Edit group</a>
</li>
</ul>

我尝试以下jquery,但它不起作用。

$(".tabs.secondary:contains(\"Edit group\")").remove()

正确的解决方案应该是找到“编辑组”一词并将其删除<li>父级。

谢谢

Finau

4 个答案:

答案 0 :(得分:9)

$("li:has('a'):contains('Edit group')").remove();

演示:http://jsfiddle.net/YqFfe/

答案 1 :(得分:7)

如果您使用的是jQuery:

$('.tabs li:has(a[href="/arb/node/53/grouping/edit/"])').remove()

删除它。

jsfiddle

reference

编辑:由于路径中的数字是动态的,您可以使用以下内容:

$('.tabs li:has(a[href$="/edit/"])').remove()

仅删除以/edit/结尾的网址路径。

new jsfiddle

答案 2 :(得分:2)

$('a').each(function() {
    if ($.trim($(this).text()) == 'Edit Group') {
        $(this).parent().remove();
    }
});

编辑目标文字。

答案 3 :(得分:2)

你也可以尝试:

$('li:eq(2)').remove();

$('.tabs li:eq(2)').remove();