2009-07-10 19 views

Antwort

8

Dies sollte schneller sein, da wir reines DOM verwenden, anstatt das übergeordnete Objekt wiederholt an das jQuery-Objekt anzuhängen.

jQuery.fn.getParent = function(num) { 
    var last = this[0]; 
    for (var i = 0; i < num; i++) { 
     last = last.parentNode; 
    } 
    return jQuery(last); 
}; 
// usage: 
$('#myElement').getParent(3); 

Arbeits Demo: http://jsbin.com/ecoze

+0

Nizza Umsetzung.. –

+0

Ich mag diese Methode sehr, ich wollte auch vorschlagen, ParentNode zu verwenden, aber Sie haben mich dazu geschlagen. –

+0

Danke für die freundlichen Worte, Matthew und Igor. – moff

2

Wenn Sie eine ID, Klasse oder tagname zu gehen, indem Sie $(draggable).parents(element) tun können. Aber stellen Sie sicher, es ist einzigartig genug, dass Sie nur ein Element erhalten, wie parents() wird mehrere Elemente abgerufen, wenn gefunden.

+0

Dank - die folgenden Anzügen meine Anforderungen: ('Entity ') $ (ziehbar) .parents attr (' EntityID') –