2009-11-26 7 views
3

je vais avoir ce balisage:jQuery: question de sélection (parent)

<ul class=container> 

    <li rec=1> 
     <div> 
      <div> 
       <div>i'm here</div> 
      </div> 
     </div> 
    </li> 

</ul> 

maintenant je suis à l'élément div ("je suis ici"), comment puis-je référence à la li? i essayé div.parent("li"); mais didntwork ..

Répondre

4

Utilisez

closest("li") 

plutôt que parent http://docs.jquery.com/Traversing/closest Parent ne reçoit que le parent direct.

+0

impressionnant, fonctionne comme un charme - thx! – Fuxi

+0

Si les niveaux de hiérarchie sont connus, mais vous ne savez pas quel type de balise l'arrière-grand-parent (le li dans ce cas) sera, alors vous pouvez faire ceci: $ ("div"). Contains ("i ' m ici "). parent(). parent(). parent(); – micahwittman

1

parent est utilisé pour obtenir le unique antecesor d'un élément, qui dans votre cas est un div.

Vous devez utiliser parents ou closest:

div.parents("li");