2009-07-10 18 views

答えて

8

これは、親をjQueryオブジェクトに繰り返し挿入するのではなく、純粋なDOMを使用しているので、これは高速になります。

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); 

の作業のデモ:http://jsbin.com/ecoze

+0

ニース実装。 –

+0

私はこのメソッドが大好きですが、私はparentNodeも使うことを提案したいと思いますが、あなたは私にそれを打ち負かしました。 –

+0

マシューとイゴールのおかげで、ありがとう。 – moff

2

あなたは$(draggable).parents(element)を行うことができますで行くためのID、クラス、またはタグ名を持っている場合。しかし、見つかった場合はparents()が複数の要素を取得するため、1つの要素しか取得できないほどユニークであることを確認してください。

+0

おかげ - 以下のスーツ私の要件:( 'エンティティ ') $(ドラッグ).parentsのattr(' 実体識別子') –