найти тип элемента, используя jQuery

345

В jQuery, если у меня есть ссылка на элемент, как я могу определить, какой это элемент, например, вход или выпадающий список? Есть ли способ узнать?

Дубликат:

Как я могу определить тип элемента соответствующего элемента в jQuery?

джйотишка бора
источник
5
Дубликат: stackoverflow.com/questions/341900/…
Олафур Вааге
10
Может быть дубликатом, но у него есть лучший ответ, а другой помечен плохо.
Rumpleteaser
2
@Rumpleteaser Если «другой» помечен плохо, то почему бы вам не использовать editкнопку под ним и не пометить ее идеально?
Трейдер

Ответы:

615

Следующее вернет true, если элемент является входным:

$("#elementId").is("input") 

или вы можете использовать следующее, чтобы получить имя тега:

$("#elementId").get(0).tagName
Marius
источник
59
При использовании $ ("# elementId"). Get (0) .tagName имя тега будет иметь заглавные буквы - TR, DIV и т. Д. И т. Д.
Jarede
7
Итак, свойство tagName возвращает значение всех заглавных букв, я только что сделал для .toLowerCase()него
pythonian29033
9
var elementType = $(this).prop('tagName');
Дамодар Башял
5
Использование nodeNameможет быть более согласованным в разных браузерах: stackoverflow.com/questions/4878484/…
Натан Джонс
2
Обратите внимание, что использование $("#elementId").is(":input")обычно скажет вам, если вы имеете дело с каким-либо элементом формы, без проверки его конкретного типа ( ссылка ).
Трейдер
12

Вы можете использовать .prop () с tagNameкак имя свойства , которое вы хотите получить:

$("#elementId").prop('tagName'); 
разрешение
источник
4

Стоит отметить, что второй ответ @ Marius может быть использован в качестве чистого решения Javascript.

document.getElementById('elementId').tagName
Матас Вайткявичюс
источник