Gibt es eine einfache Möglichkeit, einen Tag-Namen zu erhalten?
Wenn ich zum Beispiel $('a')
in eine Funktion gegeben werde, möchte ich bekommen 'a'
.
javascript
jquery
jquery-selectors
Konfigurator
quelle
quelle
Antworten:
Sie können anrufen
.prop("tagName")
. Beispiele:Wenn das Schreiben
.prop("tagName")
mühsam ist, können Sie eine benutzerdefinierte Funktion wie folgt erstellen:Beispiele:
Beachten Sie, dass Tag-Namen gemäß Konvention CAPITALIZED zurückgegeben werden . Wenn der zurückgegebene Tag-Name nur in Kleinbuchstaben angegeben werden soll, können Sie die benutzerdefinierte Funktion folgendermaßen bearbeiten:
Beispiele:
quelle
.prop
.toLowerCase()
odertoUpperCase()
kann hilfreich sein, wenn Sie dasprop('tagName')
Ergebnis mit einem Tag-Namen vergleichen.if($("my_selector").prop("tagName").toLowerCase() == 'div')
oderif($("my_selector").prop("tagName").toUpperCase() == 'DIV')
Sie können die
nodeName
Eigenschaft des DOM verwenden :quelle
$(this).prop('tagname')
. this.nodeName ist oft effizienter. +1Ab jQuery 1.6 sollten Sie jetzt prop aufrufen:
Siehe http://api.jquery.com/prop/
quelle
jQuery 1.6+
ältere Versionen
toLowerCase () ist nicht obligatorisch.
quelle
new String
duDies ist ein weiterer Weg:
quelle
Sie sollten NICHT verwenden
jQuery('selector').attr("tagName").toLowerCase()
, da es nur in älteren Versionen von Jquery funktioniert.Sie können verwenden,
$('selector').prop("tagName").toLowerCase()
wenn Sie sicher sind, dass Sie eine Version von jQuery verwenden, die> = Version 1.6 ist.Hinweis :
Sie denken vielleicht, dass JEDER jQuery 1.10+ oder etwas anderes verwendet (Januar 2016), aber leider ist das nicht wirklich der Fall. Beispielsweise verwenden heute noch viele Benutzer Drupal 7, und jede offizielle Version von Drupal 7 enthält bis heute standardmäßig jQuery 1.4.4.
Wenn Sie also nicht sicher sind, ob Ihr Projekt jQuery 1.6+ verwenden wird, sollten Sie eine der Optionen in Betracht ziehen, die für ALLE Versionen von jQuery funktionieren:
Option 1 :
Option 2
quelle
nodeName gibt Ihnen den Tag-Namen in Großbuchstaben, während localName Ihnen den Kleinbuchstaben gibt.
wird dir geben: dein Element statt DEINELEMENT
quelle