2 votes

Question de case à cocher jQuery

J'ai hérité du code suivant :

        Comparer les produits 

Ce que j'essaie de comprendre est :

Je veux trouver tous les sélecteurs h3 qui ont compare_link et checkbox HTML comme enfants et déplacer la case à cocher vers le bas de 10 pixels.

Je sais que je peux trouver des cases à cocher avec jQuery, mais puis-je le faire si le frère est compare_link ?

Je n'ai pas accès à une partie du code, c'est pourquoi je ne peux pas déplacer la case à cocher moi-même.

4voto

Jason McCreary Points 35919

Vous n'avez pas nécessairement besoin de jQuery pour cela. Vous pouvez le faire avec du CSS. Cependant, la prise en charge du navigateur peut varier.

h3 > div.compare_link + input[type="checkbox"] {
  margin-top: 10px;
}

Si vous voulez utiliser jQuery, cela prend des sélecteurs CSS. Ainsi, ce qui suit devrait fonctionner:

$('h3 > div.compare_link + input[type="checkbox"]')

2voto

Thomas Points 2028

Est-ce que tu demandes juste le sélecteur?

$('h3 > .compare_link + :checkbox')

0voto

Peter Ajtai Points 26377

Pour plus de flexibilité, utilisez :

$('h3 div.compare_link').siblings('input:checkbox')

Cela sélectionne toutes les cases à cocher qui sont des frères des divs avec la classe compare_link. Le div avec la classe compare_link doit être descendant d'une balise h3.

L'avantage est que cela fonctionne même si la case à cocher est déplacée devant le div ou si un autre div est placé entre eux, ou si le div compare_link est enveloppé dans un autre div, etc...

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X