Javascript 使用jQuery获取span中的特定文本

Javascript 使用jQuery获取span中的特定文本,javascript,jquery,html,Javascript,Jquery,Html,下面是生成的动态表的示例td。 我需要遍历tds以匹配'Data'值,并检查其相应的'Result'值是否已填充 如果未填充'Result',则不会有span class=“taglist”元素 <td class="indent0"> Data1 <span class="aspect-data"> <span class="taglist">Result1</span> </span>

下面是生成的动态表的示例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>
试用

试用

你可以像下面这样使用

$('.indent0')。每个(函数(){
var celltext=$(this.text().trim();//在此处更改
if(celltext.startsWith(“Data1”){//在此处更改
var spantext=$(this.find(“.taglist”).html();
如果(spantext!=null){
警报(文本);
}
}
});

数据1
结果1
数据2
结果2
您可以像下面这样使用

$('.indent0')。每个(函数(){
var celltext=$(this.text().trim();//在此处更改
if(celltext.startsWith(“Data1”){//在此处更改
var spantext=$(this.find(“.taglist”).html();
如果(spantext!=null){
警报(文本);
}
}
});

数据1
结果1
数据2
结果2

您遇到的问题是,
DataX
没有包装在特定的元素中,因此您需要获取文本节点,并对照您要查找的值检查该节点的文本值

还请注意,您正在使用
=
设置值,而不是
=
来比较
if
条件中的值,并且您的HTML缺少一些
标记。试试这个:

$('.indent0').each(function() {
    var celltext = $(this).contents()[0].nodeValue.trim();
    if (celltext == "Data1") {
        var spantext = $(this).find(".taglist").html();
        if (spantext != null) {
            alert(spantext);
        }
    }
});

您遇到的问题是,
DataX
没有包装在特定的元素中,因此您需要获取文本节点,并对照您要查找的值检查该节点的文本值

还请注意,您正在使用
=
设置值,而不是
=
来比较
if
条件中的值,并且您的HTML缺少一些
标记。试试这个:

$('.indent0').each(function() {
    var celltext = $(this).contents()[0].nodeValue.trim();
    if (celltext == "Data1") {
        var spantext = $(this).find(".taglist").html();
        if (spantext != null) {
            alert(spantext);
        }
    }
});

如果(celltext=“Data1”)
正在分配;您需要的是
if(celltext==“Data1”)
if(celltext=“Data1”)
正在赋值;您需要的是
if(celltext==“Data1”)
$('.indent0').each(function() {
    var celltext = $(this).contents()[0].nodeValue;  //this line has changed
    if (celltext == "Data1") {
        var spantext = $(this).find(".taglist").html();
        if (spantext != null) {
            alert(spantext);
        }
    }  
});
$('.indent0').each(function() {
    var celltext = $(this).contents()[0].nodeValue.trim();
    if (celltext == "Data1") {
        var spantext = $(this).find(".taglist").html();
        if (spantext != null) {
            alert(spantext);
        }
    }
});