знаходження типу елемента за допомогою jQuery


345

У jQuery, якщо у мене є посилання на елемент, як я можу визначити, що це за елемент, наприклад, введення чи спадання? Чи можна це дізнатися?

Дублікат:

Як я можу визначити тип елемента відповідного елемента в jQuery?



10
Може бути дублікатом, але він має кращу відповідь, а інший позначається погано.
Rumpleteaser

2
@Rumpleteaser Якщо "інший" позначений погано, то чому б ти не скористатися editкнопкою під ним і не позначити її ідеально?
трейдер

Відповіді:


615

Наступне поверне значення true, якщо елемент є вхідним:

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

або ви можете використовувати наступне, щоб отримати ім'я тегу:

$("#elementId").get(0).tagName

59
При використанні $ ("# elementId"). Get (0) .tagName tagName буде у всіх літери - TR, DIV тощо тощо
Jarede

7
Гаразд, тому властивість tagName повертає значення всіх літер, я щойно зробив .toLowerCase()на ньому
pythonian29033

9
var elementType = $(this).prop('tagName');
Дамодар Баш'ял

5
Використання nodeNameможе бути більш послідовним у різних браузерах: stackoverflow.com/questions/4878484/…
Nathan Jones

2
Зауважте, що використання $("#elementId").is(":input"), як правило, скаже вам, якщо ви маєте справу з будь-яким елементом форми, не перевіряючи його конкретний тип ( посилання ).
trejder

12

Ви можете використовувати .prop () з tagNameназвою властивості, яку ви хочете отримати:

$("#elementId").prop('tagName'); 

4

Варто зазначити, що друга відповідь @ Маріуса може використовуватися як чисте рішення Javascript.

document.getElementById('elementId').tagName
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.