2011-12-23 33 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