11
votes

JQuery: Si l'élément sélectionné $ (ceci) a un parent avec un nom de classe de «dernier»

Je dois manquer quelque chose d'une chose assez importante, je l'utilise .parent (). Parent (). Parent (). Parent () .. etc pour traverser le DOM et .nsext (). Suivant (). Suivant () pour traverser le DOM.

Je sais que c'est faux et que j'ai besoin de quelque chose de plus fiable, j'ai besoin d'un sélecteur qui traversera l'élément cliqué $ (ceci) vers le bas de la DOM pour voir si l'élément cliqué est dans un élément avec une classe de "dernier ". >

faire quelque chose d'autre dans ce cas.


1 commentaires

Essayez $ (this) .closest ("div.last ') aussi .. .parent () et .next () ne sont pas le liée (ce qui signifie pas exactement opposé). .nsext () est d'aller chercher le prochain frère et .parent est d'aller directement au parent. Le contraire exact de .nsext est .prev .


4 Réponses :


7
votes

Votre question est un peu difficile à comprendre. Vous souhaitez vérifier si l'élément cliqué a un élément ancêtre avec la classe Dernier , oui?

Si tel est le cas, vous pouvez le faire avec $. fn.parents : xxx


1 commentaires

De la comparaison entre parents et le plus proche dans le API de ce dernier Cela ressemble à le plus proche est plus rapide car il s'arrête au premier match.



1
votes

Vous pouvez utiliser .clusest ()

var isWithLastRow = $(this).closest('div.last').length


0 commentaires

3
votes

Vous pouvez le faire -

if($(this).closest(".last").length > 0) {
   alert("it's inside");
}


0 commentaires

22
votes

Essayez ceci: - http://jsfiddle.net/adioo7/pjsv7/

html: - xxx

js: - xxx


0 commentaires