.checked = true无法使用jquery $ function

Ani*_*ish 6 html javascript forms jquery properties

我想在单击按钮时选中一个复选框.

<form action="" method="post" id="form2">
    <input type="checkbox" id="checkone" value="one" name="one" />
    <input type="button" value="Click me" id="buttonone"/>
</form>
Run Code Online (Sandbox Code Playgroud)

当我尝试以下操作时,复选框未被选中

$('#buttonone').click(function() {
    $('#checkone').checked=true;
});
Run Code Online (Sandbox Code Playgroud)

然后我试过:

$('#buttonone').click(function() {
    document.getElementById('checkone').checked=true;
});
Run Code Online (Sandbox Code Playgroud)

这次复选框被选中了.为什么不使用jquery $函数进行选择?

Anu*_*rag 12

尝试

$('#checkone').attr('checked', true);
Run Code Online (Sandbox Code Playgroud)

要么

$('#checkone').get(0).checked = true;
Run Code Online (Sandbox Code Playgroud)

要么

$('#checkone')[0].checked = true; // identical to second example
Run Code Online (Sandbox Code Playgroud)

你的第一个代码不起作用的原因是因为你试图checked在jQuery对象上设置属性,该对象没有可见效果,因为它只适用于本机DOM对象.

通过调用get(0)或访问第一个项目[0],我们检索本机DOM元素,并且可以像在第二个示例中那样正常使用它.或者,checked使用jQuery的attr函数设置属性,该函数也应该起作用.