Вопрос

Мне нужно получить все элементы div с заданным идентификатором, но каждая функция jquery получает только первый.

Пример:

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

сценарий:

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

если я передам якорь или идентификатор + якорь ej $("#lala a"), все работает нормально.

В чем дело?

БР

Это было полезно?

Решение

Вы можете использовать определенный идентификатор только для одного элемента на странице.Вместо этого используйте класс:

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

Другие советы

Идентификатор должен быть уникальным, на странице должен быть только один элемент с определенным идентификатором.

Если вам нужно сгруппировать эти DIV, используйте вместо этого «класс».

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

Таким образом, обновленный jQuery для поиска каждого DIV с помощью класса «исторический» будет выглядеть следующим образом:

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

Кроме того, примечание: # используется jQuery, а не разметкой HTML, например, если у вас есть DIV, например

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

вы найдете это с помощью jQuery следующим образом:

$("#historal")
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top