如何select具有相同类名的特定<span>?

我试图从这个HTML块中提取一些数据。

<div class="group-capitalization-content field-group-html-element"> <h2><span>Capitalization</span></h2> <div class="item"> <div class="label-inline">Issued &amp; Outstanding:&nbsp;</div> <span class="number">242906121</span> </div > <div class="item"> <div class="label-inline">Reserved for Issuance:&nbsp;</div> <span class="number">51423534</span > </div> </div> 

我使用一个名为cheerio的npm模块来从HTML中获取数据。 因此,我有以下代码来尝试获取"numbers"

  var data = $('.group-capitalization-content .item .number').text(); 

运行此代码将导致: 24290612151423534 ,这两个结果都附加在一起。

如何在这里select个人号码/将他们分开?

你可以map方法和目标的.number类,它会把内容吐出一个数组。

 let data = $.map($('.number'), function(elem) { return $(elem).text(); }); console.log(data); 

如果上面的例子是你所需要的,使用.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() } ); 

each函数如何通过你的每个结果,如:

 $('.group-capitalization-content .item .number').each(function(index, element) { //your individual item code goes here console.log( index + ": " + $( this ).text() ); }); 

如果你.each不知道有多less,你可以用一个.each循环它们

 $('.group-capitalization-content .item .number').each(function() { $(this).text(); // Save this to a var or do something with it }); 

我通常得到所有的DOM元素,然后循环他们做我必要的function。 这里是一个工作小提琴。 https://jsfiddle.net/bbmtk7tm/

 var data = $('.group-capitalization-content .item .number'); for(var i=0; i<data.length;i++) { console.log(data[i].innerHTML); } 
 $('.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 &amp; Outstanding:&nbsp;</div> <span class="number">242906121</span> </div > <div class="item"> <div class="label-inline">Reserved for Issuance:&nbsp;</div> <span class="number">51423534</span > </div> </div>