我在LI和SPAN中有一个无序的复选框列表。当在UL上方按下按钮时,如何检查下面列表中的所有框?我尝试过这样的几个变种,没有成功:
$(this).closest('ul').find('input[type=checkbox]').prop('checked', this.checked);
答案 0 :(得分:1)
更新了我的回答
nextAll();正是您要找的。 p>
var $elements = $('input#afterthis').closest('li').nextAll().find('input[type="checkbox"]');
$elements.attr('checked', 'checked');
$('body').append('There are ' + $elements.length + ' elements checked');
答案 1 :(得分:1)
如果按钮是<ul>
:
$('.myButton').click(function(){
$(this).next('ul').find('input[type=checkbox]').prop('checked', true);
});
所以HTML看起来像:
<input type="button" class="myButton" value="Check all" />
<ul>
....
</ul>
此方法允许您拥有大量<ul>
个,每个都由自己的按钮控制。只需重复HTML,无需更改jQuery。