如果页面上出现两次 tbody
,我如何提取下面第二次出现的 tbody
中跨度之间的所有值? id(id=id1、id=id2 等)在整个文档中仅出现一次,即第二个正文中。
<tbody>
<tr>
<td><b>
<span id="id1">1,209</span></b></td>
<td><b>
<span id="id2">$ 14.6381</span></b><br />
(<span id="id3">16:26:20 PM</span>)</td>
<td><b>
<span id="id4">$ 14.55</span></b><br />
(<span id="id5">19:58:12 PM</span>)</td>
</tr>
</tbody>
到目前为止我有以下内容
var $ = cheerio.load(html);
$('tbody').each(function(i, element) {
if(i == 1){
var children = $(this).children();
}
});
最佳答案
请参阅下面的代码。我使用的是jquery,但cheerio 应该是相同的命令。
//var $ = cheerio.load(html);
$(function() {
var idsFromSpans = [];
$('tbody')
.first() //Grab the first tbody
.next() //Grab the second tbody
.find('span') //Grab all span elements
.each(function(i, element) {
idsFromSpans.push($(element).text()); //Grab contents of span
});
console.log(idsFromSpans);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
<tbody>
</tbody>
<tbody>
<tr>
<td><b>
<span id="id1">1,209</span></b></td>
<td><b>
<span id="id2">$ 14.6381</span></b><br />
(<span id="id3">16:26:20 PM</span>)</td>
<td><b>
<span id="id4">$ 14.55</span></b><br />
(<span id="id5">19:58:12 PM</span>)</td>
</tr>
</tbody>
</table>
关于javascript - 提取跨度之间的所有值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42183233/