В следующем коде с помощью jquery each() и html() вставляет только первое значение div, т.е. «David Smith» во всем массиве (all_names [ ]) Я ожидал, что каждый() будет перебирать каждый div и вставить соответствующее значение в соответствующий индекс массива.jquery html() выдают только первое значение, используемое с каждым методом()
Больше, чем коррекция кода, я предпочитаю, если кто-нибудь может сказать мне причину такого поведения каждой функции() или html() (я не уверен). Я новичок в jQuery, и это поможет мне укрепить мое понимание jquery.
Благодаря DKJ
HTML
<div class="test"><a href="#">David Smith</a></div>
<div class="test"><a href="#">Adam John </a></div>
<div class="test"><a href="#">Tina Samara </a></div>
<div class="test"><a href="#">James White </a></div>
Jquery
<script type="text/javascript">
var all_names = [];
var total_names = $('div.test a');
total_names.each(
function() {
all_names[counter] = total_names.html();
counter++;
}
);
alert("total Names: " + all_names);
</script>
'total_names.eq (counter) .html()' But 'all_names' - это массив, поэтому его предупреждение не даст вам ожидаемого результата. Многие вещи кажутся неправильными в вашем коде ... –