Comment accéder à l'élément en utilisant « cette »
-
01-10-2019 - |
Question
j'ai besoin d'accéder à une balise SPAN avec dans chaque balise DIV
donc j'utilisé ce code suivant
$("DIV").click(function(){
$(this + "SPAN").show();
});
Est-ce le code ci-dessus est correct? Ça ne fonctionne pas pour moi! Son rien montrer trop ..
S'il vous plaît aidez-moi
Merci,
Praveen J
La solution
Vous pouvez utiliser .find()
pour obtenir un élément dans un autre, comme ceci:
$("div").click(function(){
$(this).find("span").show();
});
En règle générale, pour obtenir quoi que ce soit par rapport à this
, vous allez généralement commencer par $(this)
et une combinaison des fonctions traversal arbre pour se déplacer.
Pour le code réel, basé sur les commentaires ci-dessous: Si votre apparence de code comme ceci:
<fieldset>
<legend>Link</legend>
<span>CHECK</span>
</fieldset>
Alors .find()
ne fonctionnera pas car le sélecteur de $("legend")
parce que le <span>
n'est pas dans le <legend>
il est un frère, afin d'utiliser .siblings()
(éventuellement avec un sélecteur) comme ceci:
$("legend").click(function(){
$(this).siblings("span").show();
});
Autres conseils
Vous pouvez utiliser la fonction de recherche pour le faire. (En outre, en utilisant des minuscules pour les sélecteurs est préféré.)
$("div").click(function(){
$(this).find("span").show();
});