簡體   English   中英

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

[英]jQuery - find table row containing table cell containing specific text

我需要獲取一個tr元素,其中包含一個td元素,該元素包含特定的文本。 td將包含該文本並且僅包含該文本(所以我需要text = 'foo'而不是text contains 'foo'邏輯)。

所以我需要相當於下面的“偽 jQuery”:

var tableRow = $(table td[text = 'foo']).parent('tr');

誰能提供正確的語法?

您可以使用filter()來做到這一點:

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

我知道這是一篇舊帖子,但我想我可以分享一種替代方法 [不是那么強大,而是更簡單] 來搜索表中的字符串。

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

例如,如果您正在搜索文本“框”,則為:

$("tr:contains('box')");

這將返回帶有此文本的所有元素。 如果它返回多個元素,則可以使用其他標准來縮小范圍

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

對於具有文本為“foo”的單元格的行,會將文本變為紅色。

這將在每個 tr 內的所有 td 中搜索文本,並根據搜索文本顯示/隱藏 tr

 $.each($(".table tbody").find("tr"), function () {                              

                if ($(this).text().toLowerCase().replace(/\s+/g, '').indexOf(searchText.replace(/\s+/g, '').toLowerCase()) == -1)
                    $(this).hide();
                else
                    $(this).show();
 });
   <input type="text" id="text" name="search">
<table id="table_data">
        <tr class="listR"><td>PHP</td></tr>
        <tr class="listR"><td>MySql</td></tr>
        <tr class="listR"><td>AJAX</td></tr>
        <tr class="listR"><td>jQuery</td></tr>
        <tr class="listR"><td>JavaScript</td></tr>
        <tr class="listR"><td>HTML</td></tr>
        <tr class="listR"><td>CSS</td></tr>
        <tr class="listR"><td>CSS3</td></tr>
</table>

$("#textbox").on('keyup',function(){
        var f = $(this).val();
      $("#table_data tr.listR").each(function(){
            if ($(this).text().search(new RegExp(f, "i")) < 0) {
                $(this).fadeOut();
             } else {
                 $(this).show();
            }
        });
    });

演示您可以通過 search() 方法使用 RegExp 匹配文本執行

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM