Quiero obtener el tipo de elemento que he seleccionado usando los selectores de jQuery.
Margen:
<select name="a"></select> <input name="b" type="text" /> <textarea name="c"></textarea>JavaScript:
var field_names = new Array( 'a', 'b', 'c' ); for(var i = 0; i < field_names.length; i++) { var field = $('[name=' + required_fields[i] + ']:visible'); // ????? // What do I write here to get one of those outputs: // Element with name a is <select> // Element with name b is <input> // Element with name c is <textarea> alert('Element with name ' + required_fields[i] + ' is ' + element_type); }Sencillo:
var element_type = '<' + field.get(0).tagName.toLowerCase() + '>'; En pocas palabras, esto recupera el elemento DOM asociado con field y obtiene su nombre de etiqueta a través del atributo tagName heredado de DOMElement , luego transforma el resultado a minúsculas usando el método toLowerCase() de String . Algunos navegadores devolverán el tagName en mayúsculas, por lo que, para mantener la coherencia, debe transformarlo a minúsculas.
Usa la propiedad tagName del elemento DOM:
var element_type = field[0].tagName; Tenga en cuenta que los navegadores no son del todo coherentes con respecto a las mayúsculas y minúsculas devueltas por tagName , por lo que probablemente debería llamar a toLowerCase para estar seguro: field[0].tagName.toLowerCase() .