Ich brauche eine Möglichkeit, um den Typ eines HTML-Elements in JavaScript zu bestimmen. Es hat die ID, aber das Element selbst könnte ein Div, ein Formularfeld, ein Fieldset usw. sein. Wie kann ich das erreichen?Wie kann ich den Typ eines HTML-Elements in JavaScript bestimmen?
Antwort
nodeName
ist das Attribut, das Sie suchen. Zum Beispiel:
var elt = document.getElementById('foo');
console.log(elt.nodeName);
Beachten Sie, dass nodeName
kehrt der Elementname und ohne die spitzen Klammern aktiviert, was bedeutet, dass, wenn Sie wollen, zu überprüfen, ob ein Element ein <div>
Element ist, dass Sie es tun könnte wie folgt:
elt.nodeName == "DIV"
Während dies würden Sie nicht die erwarteten Ergebnisse geben:
elt.nodeName == "<div>"
Was ist mit element.tagName
?
Siehe auch tagName
docs on MDN.
nach Zeitstempel schlagen Sie mich um weniger als 1 Sekunde! – eyelidlessness
Ich schaffte es sogar, etwas fremdes Englisch einzuwerfen. Crikey! –
Von QuirksMode: Mein Rat ist nicht, TagName überhaupt zu verwenden. nodeName enthält alle Funktionalitäten von tagName plus ein paar mehr. Daher ist KnotenName immer die bessere Wahl. – bdukes
- 1. Wie kann ich den nicht gelöschten Typ eines Feldes bestimmen?
- 2. Wie kann man den menschenlesbaren Typ eines cv :: Mat bestimmen?
- 3. Wie kann man den primitiven Typ einer primitiven Variablen bestimmen?
- 4. Wie kann man den XML-Typ in Powershell bestimmen?
- 5. Wie kann ich den Typ eines Objekt-Ivars dynamisch bestimmen und vergleichen? Mit ivar_getTypeEncoding & @encode? Hier
- 6. Gibt es eine Möglichkeit, den Typ eines Mountpoints zu bestimmen?
- 7. Delphi: bestimmen Sie den tatsächlichen Typ eines Generik?
- 8. Den 'Typ' eines Eingabeelements finden
- 9. Wie kann ich eine Variable auf den Typ eines anderen in Javascript
- 10. Wie kann ich den Typ eines Bildes überprüfen?
- 11. Wie kann ich den Eingabewert eines Formulars in Javascript setzen?
- 12. Wie kann ich den Typ einer dynamischen SQLAlchemy-Beziehung bestimmen (z. B. mehrere zu eins)?
- 13. Wie verwende ich die Reflektion, um den verschachtelten Typ (Elementtyp) eines Arrays zu bestimmen?
- 14. Wie kann ich den Typ des SVN-Repository bestimmen, das ich habe?
- 15. Wie kann ich den Typ einer Variablen in einer vim-Funktion bestimmen?
- 16. Wie kann ich den Typ einer gesegneten Referenz in Perl bestimmen?
- 17. Wie kann man Typ vom Typ Aliasing bestimmen?
- 18. Wie kann ich den Namen des Vordergrundnamens in Marshmallow bestimmen?
- 19. Mit Javascript D3-Bibliothek, wie kann ich Mausposition in Datensatz eines Bereichselements auf Mousemove-Ereignis bestimmen?
- 20. Wie kann ich den Unicode-Block eines Zeichens bestimmen, speziell eines Qt QChar?
- 21. Wie kann ich den MIME-Typ eines Dokuments nur mit Javascript ermitteln?
- 22. Wie kann ich einen Typ eines Objekts auf dem Bildschirm (Pygame) bestimmen?
- 23. Wie funktioniert Lazy Loading mit den Yandex HtmlElements?
- 24. Wie kann ich den Typ der MySQL-Datenbank bestimmen: ob es InnoDB oder MyISAM ist?
- 25. Wie kann ich den Standort eines Besuchers auf meiner Website genau bestimmen?
- 26. Wie bekomme ich den Typ eines Feldes in Alfresco
- 27. Wie kann ich den Speicherort eines Tap in Xamarin Forms bestimmen?
- 28. Bestimmen Swift Array Typ
- 29. Den Typ eines DOM-Elements in JavaScript testen
- 30. Wie kann ich die Geschwindigkeit eines USB-Anschlusses bestimmen?
Ich empfehle es wie folgt: if (elt.nodeName.toLowerCase() === "div") {...} Auf diese Weise wird es aus irgendeinem Grund nicht mehr in Großbuchstaben (Kleinbuchstaben) zurückgegeben oder gemischt), Sie müssen es nicht ändern und dieser Code wird immer noch gut funktionieren. – TheCuBeMan
Als Reaktion auf @TheCuBeMan müssen Sie mit toLowerCase() auch sicherstellen, dass nodeName existiert (wenn es überhaupt möglich ist, ist elt kein Element): 'if (elt.nodeName && elt.nodeName.toLowerCase () === 'div') {...} ' –