2

ご想像のとおり、提供されたテキストを正確に含む要素をフィルタリングするための「containsExactly」というセレクター プラグインを作成しました。

(function($){
    $.extend($.expr[":"],{
        containsExactly: function(element, index, matches, set){
            var text= matches[3];
            if ($(element).text() == text){
                return true;
            } 
            return false;
        }
    });
})(jQuery);

次に、4 番目のテーブル セルに指定されたテキスト文字列が正確に含まれていないすべてのテーブル行を非表示にする目的で、カスタム セレクターをより大きなセレクションに統合しようとしました。

$("#news").find("tr").has("td").not(function(){
    return $(this).children(":nth-child(4):containsExactly("+ topic +")");
}).hide();

しかし、それはテーブルの行には影響せず、困惑しています。誰が問題が何であるかを見ることができますか? 前もって感謝します。

更新: フィドルを作成しました: http://jsfiddle.net/BnTnN/3/最初の行を表示し、2 番目の行を非表示にする必要があります。

4

1 に答える 1