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?



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

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'); 

4

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

document.getElementById('elementId').tagName
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.