Frage

Ich brauche alle die divs mit einer bestimmten ID zu erhalten, aber die jquery jede Funktion nur den ersten erhalten.

Beispiel:

<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>

Skript:

$("#historial").each(function() {
alert("one div");
});

, wenn ich übergeben Sie einen Anker o eine id + Anker ej $ ( "# lala a") ist es funktioniert ok.

Was ist los?

BR

War es hilfreich?

Lösung

Sie können nur eine bestimmte ID für ein Element in einer Webseite. Verwenden Sie eine Klasse statt:

<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");
});

Andere Tipps

Eine ID muss eindeutig sein, da nur mit einem bestimmten ID ein Element auf der Seite sein sollte.

Wenn Sie gruppieren müssen diese DIVs, Verwendung 'Klasse' statt.

<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>

So die überarbeiteten jQuery, jedes DIV mit der Klasse suchen ‚historal‘ würde wie folgt aussehen:

$("div.historal").each(function() {
    alert($(this).text());    //Prints out the text contained in this DIV
});

Auch ein sidenote- der # von jQuery verwendet wird, nicht die HTML markup- zB wenn Sie hatte ein DIV wie

<div id="historal">stuff</div>

Sie würde das mit jQuery wie diese finden:

$("#historal")
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top