HTML:为什么这个检查所有复选框的jQuery代码不起作用?
<table class="responsive" id="products">
<a href="#" id="checkAllProducts">Do it</a>
<input type="checkbox">
<input type="checkbox">
<input type="checkbox">
</table>
JS:
$(document).ready(function(){
$('#checkAllProducts').click(function(){
var checkbox = $('#products input:checkbox');
checkbox.attr('checked',!checkbox.attr('checked'));
});
});
它可用于调试here。
如果我的确可以使用代码var checkbox = $('input:checkbox');
。问题可能发生在选择器
此代码应在点击链接后检查所有复选框。但它并没有这样做。为什么?
代码有效,如果我做'var checkbox = $('input:checkbox');'。问题在于选择器 – 2012-08-11 16:04:49
+1,因为你处理了'.each'。在Niko(+1)的演示中,如果您选中第一个复选框并按下“执行”,它会将其他参数设置为第一个复选框的选中值的倒数。另外,尽管我非常喜欢速记选择器,但在jQuery 1.8中,':checkbox'和其他输入选择器被归类为“弃用”,因为它们不提供本机DOM [QSA](https://developer.mozilla.org/) En/DOM/Document.querySelectorAll)性能提升。 '(' – 2012-08-11 16:09:14