Подтвердить что ты не робот

Получить выбранный тип элемента

Я хочу получить тип элемента, который я выбрал с помощью селекторов jQuery.

Разметка:

<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);
}
4b9b3361

Ответ 1

Простой:

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

В двух словах это извлекает элемент DOM, связанный с field, и получает его имя тега через атрибут tagName, унаследованный от DOMElement, затем преобразует результат в нижний регистр с помощью метода String toLowerCase(). Некоторые браузеры вернут tagName в верхнем регистре, поэтому для согласованности вы должны преобразовать его в нижний регистр.

Ответ 2

Используйте элемент DOM tagName:

var element_type = field[0].tagName;

Обратите внимание, что браузеры не полностью соответствуют случаю, возвращенному tagName, поэтому вы должны, вероятно, называть toLowerCase безопасным: field[0].tagName.toLowerCase().