Ermitteln des Typs eines Elements mithilfe von jQuery

345

Wie kann ich in jQuery feststellen, um welche Art von Element es sich handelt, z. B. um eine Eingabe oder ein Dropdown-Menü, wenn ich einen Verweis auf ein Element habe? Gibt es eine Möglichkeit, das herauszufinden?

Duplikat:

Wie kann ich den Elementtyp eines übereinstimmenden Elements in jQuery ermitteln?

Jyotishka Bora
quelle
5
Duplikat: stackoverflow.com/questions/341900/…
Ólafur Waage
10
Mag ein Duplikat sein, aber es hat eine bessere Antwort, und das andere ist schlecht markiert.
Rumpleteaser
2
@Rumpleteaser Wenn "der andere" schlecht markiert ist, warum nutzt du dann nicht die editSchaltfläche darunter und kennzeichnest sie perfekt?
Trejder

Antworten:

615

Folgendes gibt true zurück, wenn das Element eine Eingabe ist:

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

oder Sie können Folgendes verwenden, um den Namen des Tags abzurufen:

$("#elementId").get(0).tagName
Marius
quelle
59
Bei Verwendung von $ ("# elementId"). Get (0) .tagName wird der TagName in Großbuchstaben angegeben - TR, DIV usw. usw.
Jarede
7
Okay, also die tagName-Eigenschaft gibt einen Wert für alle Großbuchstaben zurück. Ich habe gerade einen Wert .toLowerCase()darauf gesetzt
pythonian29033
9
var elementType = $(this).prop('tagName');
Damodar Bashyal
5
Die Verwendung ist nodeNamemöglicherweise in verschiedenen Browsern konsistenter
Nathan Jones
2
Beachten Sie, dass die Verwendung $("#elementId").is(":input")im Allgemeinen angibt, ob Sie mit einem Formularelement arbeiten, ohne nach dessen spezifischem Typ ( Referenz ) zu suchen .
Trejder
12

Sie können .prop () mit tagNameals Namen der Eigenschaft verwenden, die Sie erhalten möchten:

$("#elementId").prop('tagName'); 
Auflösung
quelle
4

Es ist erwähnenswert, dass die zweite Antwort von @ Marius als reine Javascript-Lösung verwendet werden kann.

document.getElementById('elementId').tagName
Matas Vaitkevicius
quelle