Я думал, что смогу перебрать все div с одним и тем же классом, используя:
$("#section").each(function(i){
alert ($(this).text());
});
Однако, когда я запускаю это, я получаю предупреждение только для первого div.
Может кто-нибудь посоветовать, что я делаю не так?
Я создал FIDDLE показывая проблему.
Спасибо
Вы не можете иметь несколько элементов с одинаковым идентификатором в DOM. В таких ситуациях вы должны использовать класс вместо идентификатора.
$(".section").each(function(i){
alert ($(this).text());
});
Идентификаторы ограничены одним .. Они должны быть уникальными.
Вам нужно будет изменить идентификатор на класс и повторить итерацию.
Сначала я предлагаю не использовать один и тот же идентификатор для каждого Div. Если это так, используйте, как показано ниже:
$("div[id='section']").each(function(i){
alert ($(this).text());
});
Я предложу использовать задницу в Post ID. использовать как
$("div[id$='section']").each(function(i){
alert ($(this).text());
});
Или используйте раздел в качестве имени класса, как показано ниже
#
это селектор идентификатора в jQuery. Чтобы использовать селектор классов, вы должны использовать .
,
Попробуйте вот так:
$(".section").each(function(i){
alert ($(this).text());
});
НОТА: section
ваше общее имя класса
Попробуйте это, не меняя Ur Id или класс
$ («# контейнер ul li»). each (function (i) {
alert ($(this).text());
});
<div class="aid" style="width:600px; margin: 50px auto 0">
<div id="container" >
<ul id="list">
<li>
<div class="section" >
<a href='#' id='show' class='tooltip'>1</a>
<div class='slide' style='display:block; display:none;'>
</div></div>
</li>
<li>
<div class='section'>
<a href="#" id="show" class='tooltip'>2</a>
<div class="slide" style="display:block; display:none;">
</div></div>
</li><li><a href="faq.php" class="tooltip" id='other'>3</a></li>
<li>
<div class='section'>
<a href="#" id="show" class='tooltip'>4</a>
<div class="slide" style="display:block; display:none;">
</div></div>
</li><li>
<div class='section'>
<a href="#" id="show" class='tooltip'>5</a>
<div class="slide" style="display:block; display:none;">
</div></div>
</li>
<li>
<div class='section'>
<a href="#" id="show" class='tooltip'>6</a>
<div class="slide" style="display:block; display:none;">
</div></div>
</li>
</ul>
</div>
</div>
$(".section").each(function(i){
alert ($(this).text());
});
проблема в том, что вы используете атрибут Id для div.In dom элемент Id должен быть уникальным, поэтому он оповещает сначала о div.Измените его на класс, а затем измените в своем коде.
$(".section").each(function(i){
alert ($(this).text());
});