我有这个工作,但我没有保存,无法复制。我试图切换复选框使用if else
。我做错了什么。
我觉得可行的是:
function myForm() {
var inputs = document.getElementsByTagName("input");
for(var i = 0; i < inputs.length; i++) {
if(inputs[i].type == "checkbox") {
if(inputs[i].checked = false) {
inputs[i].checked = true;
} else {
if(inputs[i].checked = true) {
inputs[i].checked = false;
}
}
}
}
}
字符串
5条答案
按热度按时间jslywgbw1#
它可以更容易:
字符串
wko9yo5t2#
如何使用一个操作符,这是定义为切换布尔使用1作为第二个操作数?
字符串
这使用了XOR复合赋值运算符,它切换了布尔值,因为在正式的布尔数学中,
¬A ≡ A ^ 1
。(Read as:“Not(
¬
)A is equivalent(≡
)to A XOR(^
)ed艾德with literal 1”)它也不需要第二次使用
inputs[i]
。2020年更新:您还可以通过使用
forEach
函数删除复选框来消除for
循环和所有这些var
,从而将函数体缩减为:型
iibxawm43#
单等于是赋值,双等于/三等于是相等。你需要在if/else块中使用双等于或三等于。
字符串
4dc9hkyq4#
另一个正确答案可能是:
字符串
bkkx9g8r5#
我想我会补充这一点,因为它使我找到了一个答案,我正在寻找检查所有复选框与书签。使用位运算符工作就像一个魅力在IE 11和Chrome。还没有尝试过它在其他浏览器。
字符串