実際にチェック可能な入力を選択する唯一の方法は、:checkedセレクタを使うことです。JQUERYでセレクタとして機能しないのはなぜですか?
$("INPUT[checked]")
他の属性のために働くように見えるのに対し:
が、これは動作しませんなぜ技術的な理由はありますか?実際にチェック可能な入力を選択する唯一の方法は、:checkedセレクタを使うことです。JQUERYでセレクタとして機能しないのはなぜですか?
$("INPUT[checked]")
他の属性のために働くように見えるのに対し:
が、これは動作しませんなぜ技術的な理由はありますか?"input[checked]"
は、元のHTMLソースコードに基づいて選択します。 checked
属性を含むHTMLタグに基づくINPUT要素のみが選択されます。
ライブデモ:私のデモでhttp://jsfiddle.net/simevidas/PXudH/
、第2のチェック・ボックス(「B」)は関係なく、あなたは2つのチェックボックスのチェックを外す/チェック方法を、すべての回で選択されません。
$("input:checked")
は正しい構文です。
OPがこれを知っていたようで、_why_に尋ねています。 –
あなたは属性の値を配置する必要がありますので。しかし、それは何ですか?あなたはXHTML checked="checked"
で、HTML4/5では普通のchecked
と書いています。 DOMモデルはそれを真として格納する必要があります。
$('input[checked="checked"]'); // Poor
$('input[checked=true]'); // Maybe
しかし、それは理由潜在的なブラウザの違いで骨の折れるで、ブール値をチェックし、それを行うための具体的な方法があります。
$('input:checked'); // Correct
内部実装は、要素.checked
の属性をチェックするだけです。 v1.5.1から
:
filters: {
// ...
checked: function(elem) {
return elem.checked === true;
},
// ...
}
私は技術的な理由は、jQueryのセレクタは、大文字と小文字が区別されていることかもしれないと思います。これはすべての大文字のINPUTタグで機能します
XHTMLではchecked
属性の後に="checked"
が必要ですが、有効なXHTMLを記述しない人もいます。 1つの式しか持たない方が簡単になります。
思考せずに、私はXHTMLが= "checked"を要求しているが、人々は必ずしもそれを入れないと書いている。 –
はい、しかしXHTMLの妥当性は無関係です。 HTML/XHTML文書であるかどうかにかかわらず、すべてのブラウザはこの "を認識します。 –
はい、2つの方法で記述できるので、項目がチェックされているかどうかをチェックするには、属性と属性の2つのセレクタが必要です。 –
入力[チェックされています]が存在する可能性がある属性を検索し、htmlによってはチェックされなくなることさえあります。 input [checked]は生成されたHTMLに既に 'checked'属性があることが必要です。これはあなたが知っていたと思います。 <input type="checkbox"/>
がどのように生成されたかに応じて、ユーザーが入力をクリックするまではtrueまたはそうでないかもしれません。クリックした後でも、属性キー値のペアhtmlがブラウザのように見えます。
私の推測では、[css selector abiltiies](http://reference.sitepoint.com/css/pseudoclass-checked)をそのまま使用しています。しかし、セレクタ内の属性を使用することも有効です。 –
なぜ機能しないのですか? http://jsfiddle.net/QCCS3/ – Sotiris