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 ');'를 수행하면 코드가 작동합니다. 문제는 선택자 –
+1입니다. 왜냐하면 당신이'.each'를 처리했기 때문입니다. Niko (+1)의 데모에서는 첫 번째 확인란을 선택하고 "수행"을 누르면 다른 확인란이 첫 번째 확인란의 확인 된 값의 역수로 설정됩니다. 또한 단축 선택자를 정말 좋아하지만': checkbox'와 다른 입력 선택자는 jQuery 1.8에서 기본 DOM [QSA] (https://developer.mozilla.org/)을 제공하지 않기 때문에 "비추천"으로 분류됩니다. En/DOM/Document.querySelectorAll) 성능 향상. ': (' –