javascript - 使用 jQuery 获取跨度内的特定文本

标签 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 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);
        }
    }
});

Working example

关于javascript - 使用 jQuery 获取跨度内的特定文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36005397/

相关文章:

javascript - 如何在 Javascript 上使用 RegEx 从字符串中获取范围值

jquery - 可以在 Jquery Mobile 中调整按钮填充吗?

javascript - 在 fancybox 中隐藏 div 但在普通页面上显示

html - 如何更改任何可点击 html 控件的默认虚线边框

javascript - 仅在javascript中单击任何td时如何打印所有td的innerHTML

javascript - Accordion 脚本冲突

javascript - 确保脚本仅包含在某些页面中

javascript - MongoDB在数组中添加和删除字段

javascript - 如何消除滚动时的弹跳?

html - 在较大的计算机上查看时如何放大我网站上的所有内容?