Javascript 如何触发选中所有复选框?

Javascript 如何触发选中所有复选框?,javascript,jquery,checkbox,onclick,jquery-selectors,Javascript,Jquery,Checkbox,Onclick,Jquery Selectors,我试图弄清楚如何触发一个链接按钮来触发,并在单击时将所有复选框更改为选中。当我单击按钮时,它将显示警报消息,但不会触发复选框。我试过这个网站上列出的一些答案,但不起作用。我用一个新的方法重新创建了这个问题 HTML: <h3><a href="javascript:void(0);" id="checkAll">Check</a> All</h3> <hr/> <input class="categories" type="che

我试图弄清楚如何触发一个链接按钮来触发,并在单击时将所有复选框更改为选中。当我单击按钮时,它将显示警报消息,但不会触发复选框。我试过这个网站上列出的一些答案,但不起作用。我用一个新的方法重新创建了这个问题

HTML:

<h3><a href="javascript:void(0);" id="checkAll">Check</a> All</h3>
<hr/>
<input class="categories" type="checkbox" name="filter" value="Math" checked>Math<br/>
<input class="categories" type="checkbox" name="filter" value="Science" checked>Science<br/>
<input class="categories" type="checkbox" name="filter" value="Reading" checked>Reading
$('#checkAll').click(function()
{
  alert("checkAll was clicked!");
  console.log("Checkboxes has been refilled!");
  $(':checkbox.categories').prop('checked', $(this).checked); // re-check all checkboxes
  //$("input:checkbox").prop('checked', $(this).prop("checked"));
});

问题是因为
将引用
a
元素,并且包含该元素的jQuery对象没有选中的
属性。相反,只需将其设置为
true

$('#checkAll').click(function(e) {
  e.preventDefault();
  $(':checkbox.categories').prop('checked', true);
});

非常感谢您的帮助!:)