jQuery - 如何在表行中查找具有特定值的元素

时间:2013-01-29 16:35:05

标签: jquery-selectors

我有一个具有以下结构的表:

<table id="tblBranchCoverage">
    <thead>...</thead>
    <tbody>
        <tr class="coverageRow">
            <td class="countyCovered">
                <label="branchCountyCovered coverageDisplay">Barrow</label>
                                ...
            </td>
            <td>
                ...
            </td>
        </tr>
        <tr class="coverageRow">
            <td class="countyCovered">
                <label="branchCountyCovered coverageDisplay">Cook</label>
                ...
            </td>
            <td>
                ...
            </td>
        </tr>
    </tbody>
</table>

我正在尝试找到带有特定文字标签的

我无法解决除此之外的任何事情(这不起作用):

$("#tblBranchCoverage tbody tr").find('label[text="Barrow"]')

我通过在控制台中测试选择器来验证它无法正常工作。

这样做的正确方法是什么?

2 个答案:

答案 0 :(得分:1)

尝试包含:

http://docs.jquery.com/Selectors/contains#text

那么你应该能够使用父母来过滤:

http://docs.jquery.com/API/1.2/Traversing/parents

所以它应该像

$("label:contains('Barrow')").parents("tr.coverageRow");

答案 1 :(得分:0)

这应该可以解决问题,它会根据标签文本

过滤您的选择
$("#tblBranchCoverage tbody tr label").filter(function(){
  return (/Barrow/i).test($(this).text())
})

$("#tblBranchCoverage tbody tr label").filter(function(){
  return $(this).text() == "Barrow";
})