Я хочу перебирать несколько элементов HTML и получать их значения. Я попытался использовать $.each()
для этого, но я не могу понять, как это сделать, когда элемент содержит в себе другие элементы переменных типов. У меня есть структура HTML DOM как:
<li>
<div>X</div>
<br/>
<span>Category : </span>
<div>Y</div>
<span><br/>Rating</span>
<div>
<span>Z</span>
</div>
Я хочу извлечь из него значения X, Y, Z
Также есть несколько примеров этого, поэтому мне придется проходить через каждую из них. Может ли кто-нибудь предложить какой-то подход к этому?
Назначьте элементы, которые вас интересуют, в class
:
<li>
<div class="value">X</div>
<br/>
<span>Category : </span>
<div class="value">Y</div>
<span><br/>Rating</span>
<div>
<span class="value">Z</span>
</div>
Затем выберите значения по классам:
$('.values').each(function() {
console.log($(this).text())
})
Похоже, вы читаете text
содержимое всех элементов div
внутри li
. Поэтому постарайтесь
$('li').children('div').each(function(){
console.log($(this).text())
})
или
$('li > div').each(function(){
console.log($(this).text())
})
-РЕДАКТИРОВАТЬ-
Если вам не нужен контент внутри этих пролетов, вы можете попробовать:
$('li > div').each(function(){
var $tmp = $(this).clone();
$tmp.find('span').remove();
console.log($tmp.text());
})