为什么[check]在JQUERY中不作为选择器工作?

Tom*_*ard 2 jquery

似乎选择实际检查的可检查输入的唯一方法是使用:checked选择器.

是否存在技术原因导致此操作无效:

$("INPUT[checked]")
Run Code Online (Sandbox Code Playgroud)

而它似乎适用于其他属性?

Orb*_*ing 5

因为您需要为属性设置值.但它是什么?你用XHTML编写checked="checked",在HTML4/5中只是简单的checked.DOM模型应该将其存储为true.

$('input[checked="checked"]'); // Poor
$('input[checked=true]'); // Maybe
Run Code Online (Sandbox Code Playgroud)

但由于潜在的浏览器差异以及检查布尔值,它很繁琐,因此有一种特定的方法可以做到这一点.

$('input:checked'); // Correct
Run Code Online (Sandbox Code Playgroud)

内部实现只检查elements .checked属性.

v1.5.1:

filters: {

    // ...

    checked: function( elem ) {
        return elem.checked === true;
    },

    // ...
}
Run Code Online (Sandbox Code Playgroud)