2012-06-20 10 views
10

特定のDOM要素がチェックボックスであるかどうかを確認する方法を教えてください。DOM要素がチェックボックスであることを確認してください

シナリオ:

私は値が動的に割り当てられたテキストボックスやチェックボックスのセットを持っています。私は、DOM要素がチェックボックスかテキストボックスかどうかを特定する方法はありません。

答えて

15

にセレクタですis()

if ($el.is(':checkbox')) { ... } 
1

checkbox selectorをご覧ください。

var checkboxes = $("form input:checkbox"); 

あなたは、入力はこのようなものですどのタイプ伝えることができます:あなたは

if (el.type && el.type === 'checkbox') { 
    ... 
} 

またはさらに短い

if ((el || {}).type === 'checkbox') { 
    ... 
} 
37

この;

if($("#that-particular-input").is(":checkbox")) { 
} 
+2

何年も後に....あなたはおそらくその型の値を 'toLowerCase'したいでしょうか? – Nathan

+0

いいえ、「lowerCase」に変換して比較してください。 –

+0

@AndreasKöberleそれはあなたがマークアップで属性を書いた方法に左右されますか? – fcalderan

0

試しを行うことができジャバスクリプトのみバニラを使用して

if ($(".your-input").is(":text")) 
{ 
    // Textbox 
} 
else if ($(".your-input").is(":checkbox")) 
{ 
    // Checkbox 
} 
1
if (<DOMNode>.type === "checkbox") { 
    // ... 
} 
0

のjQuery:ここ

$(element).is(':checkbox'); 

elementあなたはjQueryのを使用している場合、あなたはis方法とともに:checkboxセレクタを使用することができ、あなたのelement

if( $(element).is(':checkbox')) { 
    // do something 
} 
0

あなたは、擬似セレクタを使用することができますjQueryのを呼び出して、チェックボックスは機能である:

$('#myinput').is(':checkbox')

3
if($(element)[0].type == "checkbox") { 

} 

OR

if($(element).is(':checkbox')) { 

} 
8

チェックし何も

function isCheckbox (element) { 
    return element instanceof HTMLInputElement 
     && element.getAttribute('type') == 'checkbox' 
} 
0

IDや名前だけではチェックボックスであるかどうかを知ることができます。例: "chkMyCheckbox"