Quiero conseguir el tipo de elemento, que tengo seleccionado utilizando los selectores de jQuery.

Marcado:

<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);
}
InformationsquelleAutor Silver Light | 2011-01-18

2 Comentarios

  1. 63

    Simple:

    var element_type = '<' + field.get(0).tagName.toLowerCase() + '>';

    En pocas palabras, este recupera el elemento DOM asociados con field y recibe su nombre de la etiqueta a través de la tagName atributo heredado de DOMElement, entonces se transforma el resultado a minúsculas utilizando String‘s toLowerCase() método. Algunos navegadores devolverá el tagName en mayúsculas, por lo que la coherencia debe transformar en minúsculas.

  2. 59

    Utilizar el elemento DOM de tagName propiedad:

    var element_type = field[0].tagName;

    Tenga en cuenta que los navegadores no son totalmente consistentes sobre el caso devuelto por tagName, por lo que probablemente debería llamar método tolowercase para estar seguro: field[0].tagName.toLowerCase().

    • Muchas gracias por la vinculación de algunos de documentación!

Dejar respuesta

Please enter your comment!
Please enter your name here