jQuery - 查找包含包含特定文本的表格单元格的表格行

Dav*_*vid 51 jquery dom

我需要一个tr包含一个td包含特定文本的元素的元素.在td将包含文本和只有文字(所以我需要text = 'foo'不是text contains 'foo'逻辑).

所以我需要等效的以下'伪jQuery':

var tableRow = $(table td[text = 'foo']).parent('tr');
Run Code Online (Sandbox Code Playgroud)

有人能提供正确的语法吗?

Fré*_*idi 90

你可以使用filter()来做到这一点:

var tableRow = $("td").filter(function() {
    return $(this).text() == "foo";
}).closest("tr");
Run Code Online (Sandbox Code Playgroud)

  • @TFD,这种方法有点不同,因为`contains()`匹配子串 - 它会匹配文本为`foobar`的元素,例如,不仅仅是`foo`. (3认同)

pi.*_*pi. 42

我知道这是一篇旧帖子,但我认为我可以分享一种替代[不那么强大,但更简单]的方法来搜索表格中的字符串.

$("tr:contains(needle)"); //其中needle是您要搜索的文本.

例如,如果您要搜索文本"框",那将是:

$("tr:contains('box')");
Run Code Online (Sandbox Code Playgroud)

这将返回包含此文本的所有元素.如果返回多个元素,可以使用其他标准来缩小范围


Rez*_*ler 15

$(function(){
    var search = 'foo';
    $("table tr td").filter(function() {
        return $(this).text() == search;
    }).parent('tr').css('color','red');
});
Run Code Online (Sandbox Code Playgroud)

对于具有文本为'foo'的单元格的行,将文本变为红色.