2011-12-23 34 views

回答

0
$("#custom_pagination").find("a").not('[title="umm"]').parent('li').remove(); 

如果您想保留它作为一行代码。

0
$("li") 
    .each(function(){ 
     if($(this).find("a").is("[title='yourTitle']")){ 
      $(this) 
       .siblings() 
       .remove(); 
     } 
    }); 

Example

或者你可以做更多的只是:

$("li") 
    .find("a[title='yourTitle']") 
    .parent() 
    .siblings() 
    .remove(); 

Example

但是,这仅适用于标题属性为yourTitle(或您决定寻找的任何标题)的单个a标签。

+0

雅它的工作原理,但如果没有这些元素相匹配的标题比结果显示整个列表 – 2011-12-23 10:17:11

+0

只需添加一个'else'到'if',消除所有的'li'元素。 – Purag 2011-12-23 10:18:37

1

我将遵循的逻辑是:

  • 采取所有列表中的元素(li
  • 选择那些没有孩子a具有指定标题(这是很容易使用filter方法,我真的建议在熟悉了)
  • 删除,你可以完成选择了一个

的一种方式这个计划是:

$('#list li') 
    .filter(function() { 
     return !$(this).has('a[title="Previous Page"]').length; 
    }) 
    .remove(); 

你可以写过滤功能在很多方面(使用find()而不是has()或使用某种组合选择),但我真的认为你应该使用filter()。它使您的代码更具可读性,并很好地描述了实际发生的事情。

jsFiddle Demo