javascript - 在我的案例中如何选择某些 child

标签 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 的背景。但是,我想保留“#unique”背景。

我有类似的东西

$('.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 背景。我的代码不这样做。谁能帮我解决这个问题?谢谢!

最佳答案

是因为id不在li上,是在child上。您可以使用 has selector找到它。

.not('#unique')

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

JSFiddle

关于javascript - 在我的案例中如何选择某些 child ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20433220/

相关文章:

javascript - 单击同一表的其他 td 内的某些输入类型时获取表的 td 内容的值

javascript - 需要很长时间才能完成的事件是否会更改 "Mutable variable"的值

javascript - 重新加载时 jQuery position()/offset() 值错误(chrome)

javascript - Bootstrap 将按钮添加到 BrowserPalette 并使其持久化

javascript - 如何从迭代中获取 "unset"元素

html - Bootstrap 导航栏标题在小型设备上溢出

javascript - JavaScript 中的高级表单验证

jquery - 动态包含 jQuery 时脚本不起作用

javascript - 如何防止连续单击不同选项卡时文本被 chop ?

javascript - jQuery : how to fix quick sliding (carousel)?