在我的情况下如何选择某些孩子

时间:2013-12-06 20:42:57

标签: javascript jquery html css

我有类似的东西

<ul id='nav'>
            <li><h1 id='unique' class='title'>Topic</h1></li>
            <li><h1 class='toptitle'>Department</h1></li>
            <li><a  class='title' href='#'>test1</a></li>
            <li><h1 class='toptitle'>test2</h1></li>
            <li><a  class='title' href='#'>test1</a></li>
</ul>

我想在用户点击按钮时更改li的背景。但是,我想保留&#39; #unique&#39;背景

我有类似

的东西
$('.title').on('click', function(e){
      $(this).closest('ul').find('li').not('#unique').css({'background-color':'white'})  //change all li background except the first li
      $(this).parent().css({'background-color':'#DDDDDD'})
})

除了第一个li之外,我想要更改所有li个背景。我的代码没有做到。任何人都可以帮我吗?谢谢!

2 个答案:

答案 0 :(得分:3)

这是因为身份证不在李身上,而是在孩子身上。您可以使用has selector找到它。

.not('#unique')

.not(':has(#unique)')

JSFiddle

答案 1 :(得分:1)

如果要排除第一个孩子,可以使用选择器:first-child

$(this).closest('ul').find('li').not(':first-child').css({'background-color':'white'})

JSFiddle