29

特定のDOM要素がチェックボックスであるかどうかを確認するにはどうすればよいですか。

シナリオ:

値が動的に割り当てられるテキストボックスとチェックボックスのセットがあります。DOM要素がチェックボックスなのかテキストボックスなのかを識別する方法がありません。

4

10 に答える 10

75

バニラJavaScriptのみを使用して行うことができます

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

またはさらに短い

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

または最新のブラウザで使用できますmatches()

if (el.matches('[type="checkbox"]') {
    ...
}
于 2012-06-20T08:15:24.423 に答える
18

jQueryを使用している場合は、メソッド:checkboxとともに疑似クラスセレクターを使用できます。is

if($("#that-particular-input").is(":checkbox")) {
}
于 2012-06-20T08:15:42.020 に答える
13

何かをチェックします

function isCheckbox (element) {
   return element instanceof HTMLInputElement 
      && element.getAttribute('type') == 'checkbox'
}
于 2012-06-20T08:28:15.177 に答える
5
if( $(element)[0].type == "checkbox" ) {

}

また

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

}
于 2012-06-20T08:17:49.057 に答える
2

チェックボックスセレクターを見てください。

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

入力がどのタイプであるかは、次のようにわかります。

if ($(".your-input").is(":text"))
{
    // Textbox
}
else if ($(".your-input").is(":checkbox"))
{
    // Checkbox
}
于 2012-06-20T08:15:16.283 に答える
2
if (<DOMNode>.type === "checkbox") {
    // ...
}
于 2012-06-20T08:15:56.410 に答える
1

これを試して;

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

ここelementにあなたのセレクターがありますelement

if(  $(element).is(':checkbox') ) {
  // do something
}
于 2012-06-20T08:15:41.090 に答える
1

jQuery is()

if ($el.is(':checkbox')) { ... }
于 2012-06-20T08:16:04.210 に答える
1

疑似セレクター:checkboxをjQueryのis関数の呼び出しで使用できます。

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

于 2012-06-20T08:16:24.150 に答える
0

要素のIDまたは名前を確認するだけで、要素がチェックボックスであるかどうかを知ることができる適切な命名規則が必要です。例:「chkMyCheckbox」

于 2012-06-20T09:17:13.957 に答える