1

私はJQueryが初めてで、おそらく明らかなものを見逃していますが、containsセレクターを使用してテーブルをフィルタリングし、OR演算子を使用して複数の文字列を検索するにはどうすればよいですか? つまり、「赤」または「黄」を含む行を非表示にしたいと思います。

これまでのところ、指定された日付を除くすべての行を非表示にすることで機能するこれがあります:

$(function()
{
    $('div#WebPartWPQ5 table.ms-summarycustombody tr:not(:contains("10/27/2009"))')
        .hide();
});

追加の課題として、私が実際にやろうとしているのは、日付範囲を計算し、その範囲に収まらない日付を含むテーブル行を削除する隠しスクリプトを作成することです。

前もって感謝します。

ジョン

4

2 に答える 2

1

異なるセレクター文字列はコンマで区切ります。

$('table tr.red, table tr.yellow').hide()
于 2009-10-22T17:29:17.473 に答える
0

ページの html を制御できますか?

その場合は、クラス「日付」(または「色」) を各行の適切な td 要素に追加することを検討してください。次に、ブラウザー間の互換性の問題が発生する可能性が高い :contains を使用する代わりに、テーブルの行を繰り返し処理し、$('tr td.date').val()必要なテストにアクセスして実行します。

さらに、date.js ( http://www.datejs.com/ ) を使用して日付の処理を簡素化することをお勧めします。

var datestart = Date();
var dateend = Date();

$('div#WebPartWPQ5 table.ms-summarycustombody tr td.date').each(function(){
    var date = Date.parse( $(this).val() );
    if (date.between(datestart, dateend === true)) {
        $(this).parent().hide(); //your logic here
    }
});

.filter() メソッドを使用する別の例 ( http://docs.jquery.com/Traversing/filter#fnを参照)。

var datestart = Date();
var dateend = Date();

$('div#WebPartWPQ5 table.ms-summarycustombody tr').filter(function(){
    var date = Date.parse( $('td.date', this).val() );
    return date.between(datestart, dateend) === true;
}).hide(); //your logic here
于 2009-10-25T01:18:22.380 に答える