znalezienie typu elementu za pomocą jQuery


345

Jeśli w jQuery mam odwołanie do elementu, jak mogę określić, jaki to element, na przykład dane wejściowe lub rozwijane? Czy jest jakiś sposób, aby się dowiedzieć?

Duplikować:

Jak mogę określić typ elementu dopasowanego elementu w jQuery?



10
Może być duplikatem, ale ma lepszą odpowiedź, a druga jest źle oznaczona.
Rumpleteaser,

2
@Rumpleteaser Jeśli „ten drugi” jest źle oznaczony, to dlaczego nie użyć editprzycisku pod nim i idealnie go oznaczyć?
trejder

Odpowiedzi:


615

Jeśli element jest wejściem, zwróci wartość true:

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

lub możesz użyć następujących, aby uzyskać nazwę tagu:

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

59
Gdy używasz $ ("# elementId"). Get (0) .tagName tagName będzie zawierał wszystkie wielkie litery - TR, DIV itp.
Jarede

7
Ok, więc własność tagName zwraca wartość wszystkich czapki, po prostu zrobił .toLowerCase()na nim
pythonian29033

9
var elementType = $(this).prop('tagName');
Damodar Bashyal

5
Używanie nodeNamemoże być bardziej spójne w różnych przeglądarkach: stackoverflow.com/questions/4878484/…
Nathan Jones,

2
Zauważ, że użycie $("#elementId").is(":input")ogólnie powie ci, jeśli masz do czynienia z dowolnym rodzajem elementu formularza, bez sprawdzania jego określonego typu ( referencji ).
trejder 16.04.15

12

Możesz użyć .prop () z tagNamenazwą właściwości, którą chcesz uzyskać:

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

4

Warto zauważyć, że druga odpowiedź @ Marius może być wykorzystana jako czyste rozwiązanie JavaScript.

document.getElementById('elementId').tagName
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.