选择除孩子之外的父母中的所有内容

时间:2012-08-08 04:25:07

标签: jquery jquery-selectors

我正在编写一个骨干应用程序,并使用内置的事件处理,它使用jquery选择器。

我想编写一个选择器,它将选择除.delete以外的所有内容,然后选择.delete的选择器(这更简单。)

基本上,除了这个特定的孩子,我想选择父母的一切。

我尝试了li:not(.delete),但这没效果。有什么想法吗?

<li class="">
  <a href="#">
    <i class="icon-book"></i>
    <span class="name">@randallb</span>
    <i class="delete icon-remove-sign pull-right"></i>
  </a>
</li>

4 个答案:

答案 0 :(得分:5)

li :not(.delete)

需要空格来指定后代,notli进行操作意味着选择li类没有delete

的{{1}}

答案 1 :(得分:2)

试试这个:

$('li > a *:not(.delete)')

答案 2 :(得分:0)

$('li').children().find('*:not(.delete)').css('color', 'red');

答案 3 :(得分:0)

如果这是你要找的东西。

// allChildrenArray will hold all the children of li except .delete
   var allChildrenArray = [];
    function getSelectedChildren(parentContainer, rejectedClass){
        parentContainer.children().each(function(){
            if(!$(this).hasClass(rejectedClass)){
                allChildrenArray.push(this);
            }
            getSelectedChildren($(this), rejectedClass);
        });
    }
    getSelectedChildren($('li'), 'delete');