<input type="checkbox" name="filter" id="comedyclubs"/>
<label for="comedyclubs">Comedy Clubs</label>
Si j'ai une case à cocher avec une étiquette la décrivant, comment puis-je sélectionner l'étiquette à l'aide de jQuery? Serait-il plus facile de donner un identifiant à la balise label et de le sélectionner à l'aide $(#labelId)
?
jquery
checkbox
jquery-selectors
Darwyn
la source
la source
$('#comedyclubs')[0].labels
pour accéder à toutes les étiquettes attribuées#comedyclubs
.Cela devrait également vous permettre de sélectionner des étiquettes pour tous les champs d'une boucle. Tout ce dont vous avez besoin pour vous assurer, c'est que vos étiquettes doivent indiquer
for='FIELD'
où seFIELD
trouve l'ID du champ pour lequel cette étiquette est définie.la source
Cela devrait le faire:
Si vous avez des caractères non alphanumériques dans votre identifiant, vous devez entourer la valeur attr de guillemets:
la source
Une autre solution pourrait être:
la source
$("#comedyclubs").nextAll().first()
Merci Kip, pour ceux qui cherchent à obtenir le même résultat en utilisant $ (this) lors de l'itération ou de l'association au sein d'une fonction:
J'ai cherché pendant un certain temps en travaillant sur ce projet, mais je n'ai pas pu trouver un bon exemple, donc j'espère que cela aidera d'autres personnes qui cherchent peut-être à résoudre le même problème.
Dans l'exemple ci-dessus, mon objectif était de masquer les entrées radio et de styliser les étiquettes pour offrir une expérience utilisateur plus fluide (en changeant l'orientation du diagramme).
Vous pouvez voir un exemple ici
Si vous aimez l'exemple, voici le css:
et la partie pertinente du JavaScript:
Une racine alternative à la question d'origine, étant donné que l'étiquette suit l'entrée, vous pouvez opter pour une solution CSS pure et éviter d'utiliser JavaScript complètement ...:
la source