Tim Tepaße: Befindet sich ein Element in einem bestimmten anderen?

Beitrag lesen

Hallo,

Gibt es also eine einfache Möglichkeit abzufragen, ob sich ein Element in einem bestimmten anderen befindet?

So schwer ist es doch nicht, sich da eine Funktion zu basteln, die sich den DOM-Baum hoch hangelt und nachguckt:

Element.prototype.isDescendantOf = function (element) {  
    var a = this;  
    var root = this.ownerDocument.documentElement;  
    while (a != root) {  
        a = a.parentNode;  
        if (a == element) {  
            return true  
        }  
    }  
    return false;  
}

Kleine Warnung für Ausprobierer: Nicht jeder Browser beherrscht die prototypische Erweiterung des Element-Objektes (Safari, fühl' Dich angesprochen!). Infofern sollte man da wohl besser eine eigenständige Funktion wie isDescendantOf(possibleDescendant, possibleAncestor) bauen.

Tim