Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/464.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 当我将checked设置为false时,为什么新创建的复选框被选中?_Javascript_Jquery_Checkbox - Fatal编程技术网

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标识。不一定要链接方法。不完全需要链接该方法。