Wie prüfen, ob Element 1 ein Kindelement von Element 2 ist?
Frangoo
- javascript
Hallo,
weiß jemand, wie man prüfen kann, ob Element 1 ein Kindelement auf irgendeiner Stufe von Element 2 ist?
Habe bisher leider keine Funktion dafür gefunden. Und childNodes() liefert ja nur die Nodes der ersten Ebene.
Danke für jeden Tipp,
Frangoo
Habe bisher leider keine Funktion dafür gefunden. Und childNodes() liefert ja nur die Nodes der ersten Ebene.
prüfe ob der der elternknoten des elementes mit dem wunschknoten ist
if (document.getElementById('foo').parentNode == document.getElementById('bar')) {
alert('weee');
}
dazu musst du nur die elementreferenzen vergleichen
Hallo!
Um auf indirekte Parents (Groß- bzw. Groß-groß-Eltern und deren Vorfahren) zu prüfen:
var c = [Object child];
var p = [Object parent]
function isRelativeParent(c, p) {
var e = c;
while (e != document.body && e.parentNode) {
e = e.parentNode;
if (e == p) { return true; }
}
return false;
}
Gruß, LX
Um auf indirekte Parents (Groß- bzw. Groß-groß-Eltern und deren Vorfahren) zu prüfen:
... muss man das Rad nicht neu unbedingt erfinden, weil viele Browser die Methode .contains() bei Elementobjekten kennen.
In Browsern, die sie nicht kennen, kann man Elementobjekte mit der Methode erweitern.
var c = [Object child];
var p = [Object parent]
Dann geht:
p.contains(c) // true oder false
Mathias
@@Frangoo:
weiß jemand, wie man prüfen kann, ob Element 1 ein Kindelement auf irgendeiner Stufe von Element 2 ist?
Habe bisher leider keine Funktion dafür gefunden. Und childNodes() liefert ja nur die Nodes der ersten Ebene.
Was meinst du mit „Stufe“ und „Ebene“?
Mir scheint, du verwendest einen falschen Begriff. Bist du denn das _Kind_ deiner Großmutter?
Interessieren dich vielleicht nicht _Kind_knoten, sondern _Nachfahren_knoten?
Live long and prosper,
Gunnar