我正在尝试从这个HTML块中提取一些数据。
<div class="group-capitalization-content field-group-html-element">
<h2><span>Capitalization</span></h2>
<div class="item">
<div class="label-inline">Issued & Outstanding: </div>
<span class="number">242906121</span>
</div >
<div class="item">
<div class="label-inline">Reserved for Issuance: </div>
<span class="number">51423534</span >
</div>
</div>
我正在使用名为cheerio
的npm模块来从HTML中抓取数据。因此,我有以下代码来尝试获取"numbers"
。
var data = $('.group-capitalization-content .item .number').text();
运行此代码会产生:24290612151423534
,这两个结果都附加在一起。
如何在此处选择单个数字/将它们分开?
答案 0 :(得分:1)
如果您只需要上述示例,请使用.eq()
。
第一项text()
是
$('.group-capitalization-content .item .number').eq(0).text();
......第二个是
$('.group-capitalization-content .item .number').eq(1).text();
如果你有一个更复杂的案例,你需要将数据存储在一个数组中,以后我会使用$.map()
(@Sushanth's answer
) - 可能更具体一点,以排除页面中其他.number
的可能性:
let data = $.map(
$('.group-capitalization-content .item .number'),
function(e){ return $(e).text() }
);
答案 1 :(得分:1)
您可以map
方法并定位.number
类,它会将内容吐出到数组中。
let data = $.map($('.number'), function(elem) {
return $(elem).text();
});
console.log(data);
答案 2 :(得分:0)
each
函数如何查看每个结果,例如:
$('.group-capitalization-content .item .number').each(function(index, element) {
//your individual item code goes here
console.log( index + ": " + $( this ).text() );
});
答案 3 :(得分:0)
如果您事先不知道有多少人可以使用.each
$('.group-capitalization-content .item .number').each(function() {
$(this).text(); // Save this to a var or do something with it
});
答案 4 :(得分:0)
我通常会获取所有dom元素,然后循环遍历它们以完成必要的功能。这是一个工作小提琴。 https://jsfiddle.net/bbmtk7tm/
var data = $('.group-capitalization-content .item .number');
for(var i=0; i<data.length;i++)
{
console.log(data[i].innerHTML);
}
答案 5 :(得分:0)
$('.group-capitalization-content>.item>.number').each(function(index, value){
console.log('Number at '+index+': '+$(value).text())
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="group-capitalization-content field-group-html-element">
<h2><span>Capitalization</span></h2>
<div class="item">
<div class="label-inline">Issued & Outstanding: </div>
<span class="number">242906121</span>
</div >
<div class="item">
<div class="label-inline">Reserved for Issuance: </div>
<span class="number">51423534</span >
</div>
</div>