Получить тип элемента с помощью jQuery
можно ли с помощью jQuery узнать тип элемента с помощью jQuery? Например, является ли элемент div, span, select или input?
например, если я пытаюсь загрузить значения в раскрывающийся список с помощью jQuery, но один и тот же скрипт может генерировать код в набор переключателей, могу ли я создать что-то вроде:
$('.trigger').live('click', function () {
var elementType = $(this).prev().attr(WHAT IS IT);
});
учитывая выпадающий список с кнопкой рядом с ним с триггер класс, мне elementType
переменная должна вернуться select
при нажатии кнопки.
7 ответов:
получение типа элемента jQuery путь:
var elementType = $(this).prev().prop('nodeName');
делать то же самое без jQuery
var elementType = this.previousSibling.nodeName;
проверка конкретного типа элемента:
var is_element_input = $(this).prev().is("input"); //true or false
как упоминал Distdev, вам все равно нужно различать тип ввода. То есть,
$(this).prev().prop('tagName');
скажу вам
input
, но это не отличает флажок/текст/радио. Если это вход, вы можете использовать$('#elementId').attr('type');
чтобы сказать вам флажок / текст / радио, так что вы знаете, какой это контроль.
можно использовать
.is()
:$( "ul" ).click(function( event ) { var target = $( event.target ); if ( target.is( "li" ) ) { target.css( "background-color", "red" ); } });
посмотреть источник
используйте get (0).имя тега. ссылка
используйте Nodename над tagName:
nodeName содержит все функциональные возможности tagName, а также еще несколько. Поэтому nodeName всегда является лучшим выбором.
посмотреть DOM Core