Domanda
Ho bisogno di ottenere tutti i div con un dato id ma la jquery ogni funzione ottenere solo il primo.
Esempio:
<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>
script:
$("#historial").each(function() {
alert("one div");
});
se mi passa un ancoraggio o un id + ancoraggio EJ $ ( "# lala a") è funziona bene.
Che cosa c'è che non va?
BR
Soluzione
È possibile utilizzare solo un ID specifico per un elemento in una pagina. Utilizzare una classe, invece:
<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");
});
Altri suggerimenti
Un ID dovrebbe essere unico, non ci dovrebbe essere solo un elemento della pagina con uno specifico ID.
Se avete bisogno di raggruppare questi DIV, uso 'classe', invece.
<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>
Così la rivista jQuery, per cercare ogni DIV con la classe 'Historal' sarebbe simile a questa:
$("div.historal").each(function() {
alert($(this).text()); //Prints out the text contained in this DIV
});
Inoltre, un sidenote- il # è utilizzato da jQuery, non il codice HTML markup- ad esempio, se si ha un DIV come
<div id="historal">stuff</div>
si troverebbe che con jQuery in questo modo:
$("#historal")