Leider gibt es keine Möglichkeit zu erkennen, wie ein Tag in dem Code geschrieben wurde, da, wenn das JavaScript ausgeführt wird, der HTML-Code wurde bereits in DOM-Objekte geparst.
Ihre Frage scheint jedoch mehr darüber zu sein, ob ein bestimmter Elementtyp Text enthalten kann. Dieser einfache Test gibt Ihnen eine Antwort pro Elementtyp:
function canElementContainText(tagname) {
try {
var e = document.createElement(tagname);
return e.outerHTML.indexOf("/") != -1;
} catch (ex) {
return false;
}
}
Zum Beispiel canElementContainText("div")
kehrt true
und canElementContainText("img")
kehrt false
.
Sie können dann die tagName
Eigenschaft eines Elements an diese Funktion übergeben, um es zu testen.
var result = canElementContainText(myElement.tagName);
Was ist ''
Jedes Element, das Text in irgendeiner Form enthalten kann, also auch
Sie könnten überprüfen, ob 'el.childNodes.length> 0 ', aber im Allgemeinen gibt es keinen Unterschied zwischen einem leeren und einem selbstschließenden Element im DOM – Bergi