Javascript 当我将checked设置为false时,为什么新创建的复选框被选中?
当我将此代码放入控制台时,我的网页中会出现一个复选框:Javascript 当我将checked设置为false时,为什么新创建的复选框被选中?,javascript,jquery,checkbox,Javascript,Jquery,Checkbox,当我将此代码放入控制台时,我的网页中会出现一个复选框: $('body').append($('<input/>', { type: 'checkbox', value: "foo", checked: false })); $('body')。追加($(''){ 键入:“复选框”, 值:“foo”, 勾选:假 })); 当我完全删除选中的属性时,该框不会被选中: $('body').append($('<input/>', { typ
$('body').append($('<input/>', {
type: 'checkbox',
value: "foo",
checked: false
}));
$('body')。追加($(''){
键入:“复选框”,
值:“foo”,
勾选:假
}));
当我完全删除选中的属性时,该框不会被选中:
$('body').append($('<input/>', {
type: 'checkbox',
value: "foo",
}));
$('body')。追加($(''){
键入:“复选框”,
值:“foo”,
}));
…但我需要生成一组动态复选框,有些选中,有些不选中。什么属性/值创建了正确的“未检查”状态
更新:
我正在使用最新的Chrome浏览器。
jQuery版本3.2.1
该代码在该小提琴中按预期工作:
但不是在我的网站上。。。我想知道是否存在全局设置或与复选框行为有关的内容。您的两个代码都未选中。因为,默认情况下,复选框处于未选中状态,如果希望显式选中该复选框,请将其定义为true
$('body').append($('<input/>', {
type: 'checkbox',
value: "foo",
checked: true
}));
$('body')。追加($(''){
键入:“复选框”,
值:“foo”,
核对:正确
}));
如果您随机想要,则可以使用数学:
$('body').append($('<input/>', {
type: 'checkbox',
value: "foo",
checked: Boolean(Math.round(Math.random()))
}));
$('body')。追加($(''){
键入:“复选框”,
值:“foo”,
选中:布尔(Math.round(Math.random()))
}));
布尔值在这里是必要的。这是因为属性值严格地查找true或false值,而不是truthy或falsy值。您的两个代码都被取消选中。因为,默认情况下,复选框处于未选中状态,如果希望显式选中该复选框,请将其定义为true
$('body').append($('<input/>', {
type: 'checkbox',
value: "foo",
checked: true
}));
$('body')。追加($(''){
键入:“复选框”,
值:“foo”,
核对:正确
}));
如果您随机想要,则可以使用数学:
$('body').append($('<input/>', {
type: 'checkbox',
value: "foo",
checked: Boolean(Math.round(Math.random()))
}));
$('body')。追加($(''){
键入:“复选框”,
值:“foo”,
选中:布尔(Math.round(Math.random()))
}));
布尔值在这里是必要的。这是因为属性值严格地查找true或false值,而不是truthy或falsy值。当与复选框一起使用时,选中的属性
是一个布尔属性
如果它真的存在,那它就是真的
<input type="checkbox" checked />
与
<input type="checkbox" checked="false" />
及
不选中它的唯一方法是根本不选中属性。当与复选框一起使用时,选中的属性是一个布尔属性
如果它真的存在,那它就是真的
<input type="checkbox" checked />
与
<input type="checkbox" checked="false" />
及
不选中它的唯一方法是根本不选中属性。您可以使用.prop或.attr作为复选框
var值=真;
$('#body')。追加($(''){
键入:“复选框”,
值:“foo”,
}).prop('选中',值));
值=假;
$('#body')。追加($(''){
键入:“复选框”,
值:“foo”,
}).prop('选中',值));
您可以使用.prop或.attr作为复选框
var值=真;
$('#body')。追加($(''){
键入:“复选框”,
值:“foo”,
}).prop('选中',值));
值=假;
$('#body')。追加($(''){
键入:“复选框”,
值:“foo”,
}).prop('选中',值));
您使用的浏览器是什么?您是第一个在chrome/IEI中对我有效的示例。我正在使用Chromeusing SO最新版本的jQuery(1.12)。这两个示例都附加了一个未选中的复选框。XHTML允许checked有一个值。在HTML中,选中的属性不允许值。我很好用:你用的是什么浏览器?您是第一个在chrome/IEI中对我有效的示例。我正在使用Chromeusing SO最新版本的jQuery(1.12)。这两个示例都附加了一个未选中的复选框。XHTML允许checked有一个值。在HTML中,选中的属性不允许值。我可以正常工作:在JS中,checked:false
被正确地用作OP。选中的与选中的之间存在差异:“false”
@panther是正确的。我遵循API的规则,并且checked:false
将导致一个未选中的框。在JS中checked:false
被正确地用作OP。选中的与选中的之间存在差异:“false”
@panther是正确的。我遵循API的规则,并且checked:false
应该会导致一个未选中的框。@mhodges这是html,如果您只定义checked属性,则在html中由true status标识。@mhodges这是html,如果您只定义checked属性,则在html中由true status标识。不一定要链接方法。不完全需要链接该方法。