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

È stato utile?

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")
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top