下面是生成的动态表的示例 td。
我需要遍历 tds 以匹配 'Data'
值并检查其相应的 'Result'
值是否已填充。
如果未填充'Result'
,则不会有span class="taglist"
元素。
<td class="indent0">
Data1
<span class="aspect-data">
<span class="taglist">Result1</span>
</span>
<td class="indent0">
Data2
<span class="aspect-data">
<span class="taglist">Result2</span>
</span>
我尝试使用下面的代码进行迭代,它会提醒所有 'Result'
值,但我只需要获取 'Data'
的相应值给出。
$('.indent0').each(function() {
var celltext = $(this).html();
if (celltext = "Data1") {
var spantext = $(this).find(".taglist").html();
if (spantext != null) {
alert(spantext);
}
}
});
最佳答案
您遇到的问题是 DataX
未包含在特定元素中,因此您需要获取文本节点并将其文本值与您要查找的值进行比较。
另请注意,您使用的是 =
用于设置一个值而不是 ==
比较 if
中的值条件,并且您的 HTML 缺少一些 </td>
标签。试试这个:
$('.indent0').each(function() {
var celltext = $(this).contents()[0].nodeValue.trim();
if (celltext == "Data1") {
var spantext = $(this).find(".taglist").html();
if (spantext != null) {
alert(spantext);
}
}
});
关于javascript - 使用 jQuery 获取跨度内的特定文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36005397/