簡體   English   中英

jQuery選擇不包含特定文本的所有行

[英]jquery select all rows not containing specific text

我想使用jQuery選擇表中不包含特定文本的td所有行。

我可以選擇以下行:

var x = $('td:contains("text"):parent');  //muliple td's in each tr

我將如何使用:not選擇器來反轉選擇?

編輯:我不認為上面的代碼行是真的准確。 這是我最初的代碼:

var x = $('td:contains("text")).parent();  //muliple td's in each tr

當我嘗試反轉選擇時,我得到所有行,因為它們碰巧都包含不包含文本的td。

嘗試這個:

var $x = $('td:not(:contains("text")):parent');

現場演示

情況1:選擇所有TD中包含文本“我的文本”的所有TR

我不會太依賴於偽。 嘗試使用過濾器進行以下操作,(內部偽操作無論如何都會這樣做)

$('tr').filter(function () {
   return $(this).find('td').filter(function () {
                return $(this).text().indexOf('myText') == -1;
          }).length;
}); //would return all tr without text 'myText'

演示: http : //jsfiddle.net/dWuzA/

情況2:選擇所有TD中包含文本“我的文本”的所有TR

@squint在評論中提出了非常好的觀點

因此,如果要選擇包含的所有TR在任何TD中都沒有特定文本,則可以將條件取反。請參見下文,

演示: http : //jsfiddle.net/dWuzA/1/

$(function () {
    $('tr').filter(function () {
        return !$(this).find('td').filter(function () {
            return $(this).text().indexOf('22') != -1;
        }).length;
    }).addClass('highlight');
});

暫無
暫無

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

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