48 votes

Comment trouver le nième parent d'un élément à l'aide de jquery

Je veux trouver le nième élément parent d'un élément donné et accéder aux attributs du parent.

 <div id='parent1'><br/>
  <div id='parent2'><br/>
       <span><p id='element1'>Test</p></span><br/>
  </div><br/>
  <div id='parent3'><br/>
       <span><p id='element2'>Test</p></span><br/>
  </div><br/>
</div>

Je veux accéder au 3ème élément parent de element1 sans utiliser

 $('#element1').parent().parent().parent()

Toute aide serait appréciée

76voto

Richard Dalton Points 20402

Vous pouvez utiliser .parents() et .eq() :

 $('#element1').parents().eq(2);

http://jsfiddle.net/infernalbadger/4YmYt/

8voto

DidThis Points 11

parents() renvoie une liste, donc cela fonctionne :

 $('#element1').parents()[2];

6voto

Alex Points 820

utilisation:

 $('#element1').closest('#parent1');

6voto

gion_13 Points 15594

Tu pourrais faire un petit plugin pour s'en occuper :

 $.fn.nthParent = function(n){
    var p = this;
    for(var i=0;i<n;i++)
        p = p.parent();
    return p;
}

puis l'utiliser comme :

 $('#element1').nthParent(3);

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X