Je veux trouver le nième élément parent d'un élément donné et accéder aux attributs de 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 souhaite accéder au 3e élément parent de element1 sans utiliser
$('#element1').parent().parent().parent()
Toute aide serait appréciée
Vous pouvez utiliser .parents()
et .eq()
:
$('#element1').parents().eq(2);
Vous pouvez créer un petit plugin pour vous 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);
parents () renvoie une liste, donc cela fonctionne:
$('#element1').parents()[2];
utilisation:
$('#element1').closest('#parent1');