我想在<td colspan="2">...</td>
下解析<th>Number of samples</th>
之间的信息。例如,在解析后面的html将返回64。
...
<tr class="border">
<th>Average FPKM</th>
<td colspan="2">0.8</td>
</tr>
<tr class="border">
<th>Number of samples</th>
<td colspan="2">64</td>
</tr>
...
如何在这里只返回值64?
由于
答案 0 :(得分:1)
首先给表格单元格一个id,在这个例子中我选择了tableCell
使用纯JavaScript而不使用jQuery,此代码完全符合您的要求
var value = document.getElementById("tableCell").innerHTML
使用jQuery,你可以这样做:
var value = $("#tableCell").html()
答案 1 :(得分:1)
获取,然后是父母,然后找到td。
$(document).ready(function() {
var thGet=$('table').find('th');
$.each(thGet, function (i, obj) {
var text = $(obj).text();
if(text == 'Number of samples' && $(obj).parent().find('td').attr('colspan') == '2')
{
alert($(obj).parent().find('td').html());
}
});
});
非jQuery,需要Javascript支持
var x = document.querySelectorAll('th');
for (var i = 0; i < x.length; i++) {
if(x[i].innerHTML == 'Number of samples')
{
var c = x[i].parentNode.childNodes;
var j;
for (j = 0; j < c.length; j++) {
if(c[j].tagName == 'TD' && c[j].colSpan == '2')
{
console.log(c[j].innerHTML);
}
}
}
};
答案 2 :(得分:1)
您可以使用纯Javascript遵循此方法。我假设表tr
的结构不会更改。
选择所有tr.border
迭代它们,并非常简单地找到哪个Number of samples
。然后得到你想要的东西。
window.onload = () => {
let tr = document.querySelectorAll('tr.border')
tr.forEach((elm) => {
if(elm.innerText.indexOf('Number of samples') == 0)
console.log(elm.querySelector('td').innerText)
})
};
<table>
<tr class="border">
<th>Average FPKM</th>
<td colspan="2">0.8</td>
</tr>
<tr class="border">
<th>Number of samples</th>
<td colspan="2">64</td>
</tr>
</table>
希望有所帮助
答案 3 :(得分:0)
假设您需要表的最后一行的最后一个单元格,并且您正在使用jQuery。
let result = $('table tr:last-child td:last-child').text();