【发布时间】:2012-01-26 17:33:40
【问题描述】:
我有一个列表,我需要在页面加载时选择一个元素(根据<li> 内的<a> 的标题属性)并删除除所选元素之外的其余列表元素。
使用这个:
$("#div").find("a[title='Previous Page']").not(this).remove();
它不工作。
【问题讨论】:
标签: jquery jquery-selectors dom-traversal
我有一个列表,我需要在页面加载时选择一个元素(根据<li> 内的<a> 的标题属性)并删除除所选元素之外的其余列表元素。
使用这个:
$("#div").find("a[title='Previous Page']").not(this).remove();
它不工作。
【问题讨论】:
标签: jquery jquery-selectors dom-traversal
我会遵循的逻辑是:
li)a 的人(使用filter 方法很容易,我真的建议您熟悉它)您可以完成此计划的一种方法是:
$('#list li')
.filter(function () {
return !$(this).has('a[title="Previous Page"]').length;
})
.remove();
您可以通过多种方式编写过滤函数(使用find() 而不是has() 或使用某种组合选择器),但我真的认为您应该使用filter()。它使您的代码更具可读性,并且可以很好地描述实际发生的情况。
【讨论】:
$("#custom_pagination").find("a").not('[title="umm"]').parent('li').remove();
如果您想将其保留为一行代码。
【讨论】:
【讨论】:
else 添加到if 即可删除所有li 元素。