2012-06-20 26 views
10

¿Cómo puedo verificar si un elemento DOM dado es una casilla de verificación?Compruebe si el elemento DOM es una casilla de verificación

Escenario:

Tengo un conjunto de cuadros de texto y casillas de verificación en la que los valores se asignan dinámicamente. No tengo forma de identificar si el elemento DOM es una casilla de verificación o un cuadro de texto.

Respuesta

15

Si estás usando jQuery, puede utilizar el selector :checkbox junto con is método:

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

Eche un vistazo a checkbox selector.

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

Se puede saber qué tipo de una entrada es de esta manera:

if ($(".your-input").is(":text")) 
{ 
    // Textbox 
} 
else if ($(".your-input").is(":checkbox")) 
{ 
    // Checkbox 
} 
37

Usando sólo la vainilla JavaScript que podría hacer

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

o incluso más corto

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

Muchos años después ... probablemente quieras 'toLowerCase' ese tipo de valor, ¿verdad? – Nathan

+0

No, conviértalo en 'lowerCase' y compare entonces. –

+0

@ AndreasKöberle debe depender de cómo escribió el atributo en el marcado, ¿verdad? – fcalderan

0

Try esta;

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

aquí es element selector hacia su element

if( $(element).is(':checkbox')) { 
    // do something 
} 
1
if (<DOMNode>.type === "checkbox") { 
    // ... 
} 
0

jQuery is():

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

Puede utilizar la pseudo-selector: casilla con una llamada a jQuery es función:

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

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

} 

O

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

} 
8

cheques nada

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

Debe tener una convención de nomenclatura decente que le permita saber si un elemento es una casilla de verificación simplemente de ver su identificación o nombre. p. "chkMyCheckbox"

Cuestiones relacionadas