JQuery chaque problème div
Question
Je dois obtenir tous les divs avec un identifiant donné, mais la jquery chaque fonction obtenir que le premier.
Exemple:
<div id="#historial">some html code</div>
<div id="#historial">some html code</div>
<div id="#historial">some html code</div>
<div id="#historial">some html code</div>
scénario :
$("#historial").each(function() {
alert("one div");
});
si je passe un point d'ancrage o un identifiant + ancre ej $ ( "# lala a") il est ok fonctionne.
Qu'est-ce qui ne va pas?
BR
La solution
Vous ne pouvez utiliser un identifiant spécifique pour un élément dans une page. Utilisez plutôt une classe:
<div class="historial">some html code</div>
<div class="historial">some html code</div>
<div class="historial">some html code</div>
<div class="historial">some html code</div>
$(".historial").each(function(e) {
alert("one div");
});
Autres conseils
Un ID doit être unique, il ne devrait y avoir un élément sur la page avec un identifiant spécifique.
Si vous avez besoin de regrouper ces DIVs, utilisez la 'classe' à la place.
<div class="historial">some html code</div>
<div class="historial">some html code</div>
<div class="historial">some html code</div>
<div class="historial">some html code</div>
Ainsi, la jQuery révisée, pour rechercher chaque DIV avec la classe « Historal » ressemblerait à ceci:
$("div.historal").each(function() {
alert($(this).text()); //Prints out the text contained in this DIV
});
En outre, un sidenote- le # est utilisé par jQuery, et non le code HTML markup- par exemple, si vous aviez un DIV comme
<div id="historal">stuff</div>
vous constaterez que jQuery comme ceci:
$("#historal")