我有一个表格html代码,来源于ajax,如下所示:
<table class="stripped">
<tr class="red">
<td style="font-weight:bold;">City</td>
<td class="red">xyz</td>
</tr>
<tr class="red">
<td style="font-weight:bold;">Country</td>
<td class="red">abc</td>
</tr>
<tr class="red">
<td style="font-weight:bold;">Date</td>
<td class="red">05.10.2017</td>
</tr>
</table>
<table class="stripped">
<tr class="red">
<td style="font-weight:bold;">Category</td>
<td class="red">This is category</td>
</tr>
</table>
我希望在此html中获得country
值的值。 Jquery nth-child可以找到,但我找不到。我找到nht tr
项但无法找到国家/地区的值(&#34; abc&#34;)。
答案 0 :(得分:2)
不确定您要对其执行什么操作,但如果您想获得包含td
的{{1}}的第二个tr
,请使用以下Country
< / p>
<强>演示强>
$("table tr:contains(Country) td:eq(1)").text()
&#13;
var text = $("table tr:contains(Country) td:eq(1)").text();
console.log(text)
&#13;
答案 1 :(得分:0)
let country = document.querySelectorAll("tr")[1].querySelectorAll("td")[1].innerText;
document.querySelectorAll("tr")[1] (second tr)
.querySelectorAll("td")[1] (second td in second tr)
.innerText (gets value)
答案 2 :(得分:0)
关注选择器如何:
e.preventDefault();
答案 3 :(得分:0)
除nth-child
之外唯一真正的参考点是您的文字标题。
由于这种情况,我们可以查看表格单元格中的标题 Date ,然后从下一个单元格(该单元格的索引+ 1)中获取文本。
应该指出,这不太理想。这个解决方案,就像我们可以根据具体情况提供的其他解决方案一样,如果将来标记发生变化,很容易被打败。只是记住一些事情,虽然我知道有时你别无选择。
$("td").each(function(ind, ele) {
if(ele.textContent === "Date"){
console.log("date is", $("td").eq(ind+1).text() );
}});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table class="stripped">
<tr class="red">
<td style="font-weight:bold;">City</td>
<td class="red">xyz</td>
</tr>
<tr class="red">
<td style="font-weight:bold;">Country</td>
<td class="red">abc</td>
</tr>
<tr class="red">
<td style="font-weight:bold;">Date</td>
<td class="red">05.10.2017</td>
</tr>
</table>
<table class="stripped">
<tr class="red">
<td style="font-weight:bold;">Category</td>
<td class="red">This is category</td>
</tr>
</table>
答案 4 :(得分:0)
<script>
$(document).ready(function() {
$(".stripped td").get().forEach(function(entry, index, array) {
if ($(entry).text()=='Country') {
$('#result').html( $('#result').html()+'Country: '+$(entry).next().text() );
}
});
});
</script>
<div id="result">
</div>
<table class="stripped">
<tr class="red">
<td style="font-weight:bold;">City</td>
<td class="red">xyz</td>
</tr>
<tr class="red">
<td style="font-weight:bold;">Country</td>
<td class="red">abc</td>
</tr>
<tr class="red">
<td style="font-weight:bold;">Date</td>
<td class="red">05.10.2017</td>
</tr>
</table>
<table class="stripped">
<tr class="red">
<td style="font-weight:bold;">Category</td>
<td class="red">This is category</td>
</tr>
</table>