web-dev-qa-db-fra.com

Vérifier si l'élément DOM est une case à cocher

Comment puis-je vérifier si un élément DOM donné est une case à cocher.

Scénario:

J'ai un ensemble de zones de texte et de cases à cocher dans lesquelles les valeurs sont attribuées de manière dynamique. Je n'ai aucun moyen d'identifier si l'élément DOM est une case à cocher ou une zone de texte.

16
Nipuna

Si vous utilisez jQuery, vous pouvez utiliser le sélecteur :checkbox pseudo-class avec is method:

if($("#that-particular-input").is(":checkbox")) {
}
15
Salman A

En utilisant uniquement JavaScript javascript, vous pouvez le faire

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

ou même plus court

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

ou dans les navigateurs modernes, vous pouvez utiliser matches()

if (el.matches('[type="checkbox"]') {
    ...
}
52
fcalderan

Vérifie quoi que ce soit

function isCheckbox (element) {
   return element instanceof HTMLInputElement 
      && element.getAttribute('type') == 'checkbox'
}
11
Leonid
if( $(element)[0].type == "checkbox" ) {

}

OR

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

}
4
jbrtrnd

Jetez un coup d'œil au sélecteur de cases à cocher .

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

Vous pouvez savoir quel type d'entrée est comme ceci:

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

Essaye ça;

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

ici element est sélecteur à votre element

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

jQuery is():

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

Vous pouvez utiliser le pseudo-sélecteur: La case à cocher avec un appel à jQuery est sa fonction:

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

1
tarashish

Vous devriez avoir une convention de nommage décente qui vous permet de savoir si un élément est une case à cocher en ne voyant que son id ou son nom. par exemple. "chkMyCheckbox"

0
Andrew Odendaal