我有一个列表,我需要在页面加载时选择一个元素(根据<a>
内<li>
的标题attr)并删除除选定列表元素之外的其余列表元素。
使用此:
$("#div").find("a[title='Previous Page']").not(this).remove();
它不起作用。
答案 0 :(得分:1)
我遵循的逻辑是:
li
)a
的人(使用我真正建议熟悉的filter
方法非常容易)您可以实现此计划的一种方法是:
$('#list li')
.filter(function () {
return !$(this).has('a[title="Previous Page"]').length;
})
.remove();
您可以通过多种方式编写过滤功能(使用find()
代替has()
或使用某种组合选择器),但我认为您应该使用filter()
。它使您的代码更具可读性,并且非常清楚地描述了实际发生的事情。
答案 1 :(得分:0)
$("li")
.each(function(){
if( $(this).find("a").is("[title='yourTitle']") ){
$(this)
.siblings()
.remove();
}
});
或者你可以更简单地做到这一点:
$("li")
.find("a[title='yourTitle']")
.parent()
.siblings()
.remove();
但这仅在有一个a
标记时才有效,其中title属性为yourTitle
(或您决定查找的任何标题)。
答案 2 :(得分:0)
$("#custom_pagination").find("a").not('[title="umm"]').parent('li').remove();
如果您想将其保留为一行代码。