Javascript 选择祖先的问题

Javascript 选择祖先的问题,javascript,jquery,Javascript,Jquery,在下面的HTML中,我如何从事物获取检查所有 .. <input type="checkbox" class="checkall"><label>Check all</label> <ul> <li><input type="checkbox" class="thing"><label>Thing 1</label></li> <li><input typ

在下面的HTML中,我如何从
事物
获取
检查所有

..
<input type="checkbox" class="checkall"><label>Check all</label>
<ul>
    <li><input type="checkbox" class="thing"><label>Thing 1</label></li>
    <li><input type="checkbox" class="thing"><label>Thing 2</label></li>
</ul>
...
。。
全部检查
  • 事情1
  • 事情2
...
我尝试
$(“.thing”).closest(“.checkall”)但它不起作用,它返回为未定义的

这里有一个


更新

您的选择器不正确。您需要使用:

$(this).closest('ul').siblings('.checkall')

使用
最近的
将您获取到最近的父元素,以及
输入。checkall
元素是
li.thing
元素的父元素的同级


阅读更多信息,注意不要关闭输入tags@Phil-R输入标记是自动关闭的。那么它不应该以/>结尾吗?@Phil-R这是XHTML严格遵从性。斜杠是很好的做法,但不是必需的。它可能是无效元素,但仍然呈现,这是因为您的代码错误。我刚刚修复了您使用的不正确的选择器。您是对的,它返回了正确的
。checkall
我有一些错误,谢谢您的回答,男士:)我无法打开一个新主题,您能帮助我吗:为什么我的jquery对象没有使用
$('.checkall')进行检查。checked=true
这里有一个您需要使用的
$('.checkall').prop('checked',true)