6
votes

Trouver "Position" dans Dom of Clicked Link

J'ai une page avec un certain nombre de liens avec une classe appelée "myLinkClass". Ces liens peuvent résident dans l'une des deux structures DOOM:

$(document).ready(function () {
    $('.myLinkClass').bind('click', function (event) {
        //...
    });
});


0 commentaires

5 Réponses :


3
votes

Vous pouvez vérifier si l'élément cliqué a un ancêtre avec divclassa . Si non, vous devriez pouvoir supposer que c'est dans divclassb : xxx

voici un exemple de travail de ce qui précède.


0 commentaires

0
votes

Vous pouvez essayer comme ceci:

var parent = $(this).parent;
var parentName = parent.attr('class');


1 commentaires

J'ai peur que cela ne fonctionne pas car le lien n'est pas nécessaire un enfant immédiat de la DIV.



0
votes
$('.myLinkClass').bind('click', function (event) {
    if $(this).parent('div.divClassB') {
       ... it's in a classB ...
    }
});

0 commentaires

1
votes

pourrait être xxx

Cependant, si vous essayez de créer différents événements pour différentes "divclasses", quelque chose comme celui-ci pourrait être plus adéquat: xxx < / pré>


2 commentaires

J'ai bien peur que votre premier exemple ne fonctionne pas depuis que le lien n'est pas nécessaire un enfant immédiat de la DIV. Le deuxième exemple fonctionnerait cependant, mais je préférerais avoir un seul gestionnaire d'événements.


@haagel, ".Parents ()" monte l'arbre complet.



0
votes

html: xxx

jQuery: xxx

dans ce code alerte montrera le nom de la classe de parent div. Si vous souhaitez utiliser ce nom en état, essayez avec ce qui suit (si vous avez plus de 2 tag): xxx


1 commentaires

J'ai peur que cela ne fonctionne pas car le lien n'est pas nécessaire un enfant immédiat de la DIV.