J'ai un div et il contient plusieurs éléments d'entrée... Je voudrais itérer à travers chacun de ces éléments. Des idées ?
Puis utiliser $(this) dans la fermeture pour accéder à l'élément "actuel" dans la boucle.
J'ai un div et il contient plusieurs éléments d'entrée... Je voudrais itérer à travers chacun de ces éléments. Des idées ?
Utilice children()
y each()
vous pouvez éventuellement passer un sélecteur à children
$('#mydiv').children('input').each(function () {
alert(this.value); // "this" is the current element in the loop
});
Vous pouvez aussi simplement utiliser le sélecteur d'enfant immédiat :
$('#mydiv > input').each(function () { /* ... */ });
Existe-t-il un moyen de connaître la valeur de "n", en supposant que $(this) est le "n "ième enfant du parent ?
Il est également possible d'itérer à travers tous les éléments dans un contexte spécifique, quelle que soit la profondeur de leur imbrication :
$('input', $('#mydiv')).each(function () {
console.log($(this)); //log every element found to console output
});
Le deuxième paramètre $('#mydiv') qui est transmis au sélecteur jQuery 'input' est le contexte. Dans ce cas, la clause each() parcourra tous les éléments d'entrée dans le conteneur #mydiv, même s'ils ne sont pas des enfants directs de #mydiv.
Probablement à cause de l'imbrication, cette solution a fonctionné pour moi alors que l'autre n'a pas fonctionné. Pour cette raison, je pense que c'est normalement la meilleure solution.
C'est ce que je cherchais. Y a-t-il un moyen de faire du json à partir de leurs valeurs ? J'ai besoin de poster tous les thèmes en json.
Fonctionne très bien ! Mais que faire si j'ai besoin de tous les éléments à saisir ET à sélectionner ?
Si vous devez parcourir les éléments enfants en boucle récursivement :
function recursiveEach($element){
$element.children().each(function () {
var $currentElement = $(this);
// Show element
console.info($currentElement);
// Show events handlers of current element
console.info($currentElement.data('events'));
// Loop her children
recursiveEach($currentElement);
});
}
// Parent div
recursiveEach($("#div"));
NOTE : Dans cet exemple, je montre les gestionnaires d'événements enregistrés avec un objet.
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.