我有一些复选框,我试图制作一个反转功能,但我想影响除第一个复选框以外的所有功能,所以我使用jQuery并经过研究后我明白我应该使用.not (':第一个'),但我不知道将它放在我已编写的代码中的哪个位置。
function invert(){
$('input[type="checkbox"]').each(function () {
$(this).prop('checked', !$(this).is(':checked'));
});}
请帮帮我吗?
答案 0 :(得分:4)
有几种方法可以做到,包括但不限于以下几种方法。
全部在选择器中:
$('input[type="checkbox"]:not(:first)').each(...)
$('input[type="checkbox"]').not(':first').each(...)
$('input[type="checkbox"]').slice(1).each(...)
请注意,实际检查/取消选中框的行可以简化为:
this.checked = !this.checked;
但是如果你在循环中做的唯一事情就是更改checked属性然后你不需要.each()
,你可以改为pass a function to prop()
:
$('input[type="checkbox"]:not(:first)').prop("checked", function(i, val) {
return !val;
});
答案 1 :(得分:1)
尝试使用:gt()
选择器和参数0
来选择索引大于0
的元素:首先
$("input[type=checkbox]:gt(0)").each(function() {
// do stuff with `input` elements having index greater than `0`
})