DOM getRangeAt(0).commonAncestorContainer.parentNode.tagName
Andy
- javascript
0 1UnitedPower0 Andy
Hallo,
ich habe eine Frage zu DOM. Das funktioniert perfekt:
document.getElementById('iFrame').contentWindow.document.getSelection().getRangeAt(0).commonAncestorContainer.tagName;
document.getElementById('iFrame').contentWindow.document.getSelection().getRangeAt(0).commonAncestorContainer.parentNode.tagName;
document.getElementById('iFrame').contentWindow.document.getSelection().getRangeAt(0).commonAncestorContainer.firstChild.tagName;
Aber wie komme ich auf das aktuelle Element? Also kein parentNode kein firstChild sondern das was ich selektiert habe?
Ich meine bei nodeType = 1 (Control-Type im IE).
Wenn Ich eine table habe und in dieser ein img dann wird mir immer nur der TD tag als tagName angezeigt nur auf den img tag komm ich nicht.
Vielen Dank für jede Hilfe.
Andy
Aber wie komme ich auf das aktuelle Element? Also kein parentNode kein firstChild sondern das was ich selektiert habe?
commonAncestorContainer
ist doch mehr als sprechend. Bei Markierungs-Vorgängen gibt es nicht DAS aktuelle Element, es können schließlich mehrere Knoten oder auch nur Teile eines Knoten markiert werden.
Ob wirklich nur ein Knoten markiert wurde kannst du herausfinden, indem du überprüfst ob range.startContainer
der selbe Knoten wie range.endContainer
ist.
Danke für den guten Tip. Ich habe die childNodes gefunden.