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

Était-ce utile?

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")
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top