0

テキスト SUM を含む 2 つの説明がありますが、1 つは太字 ( SUMとそうでないもの (SUM)) です。b-tag なしで SUM を含む記述を持つ td:eq(5) を取得したいと考えています。

HTML は動的に生成されるため、ID やクラスなどを入れることはできません。

これは私のコードです(両方の合計フィールドに緑色の背景が表示されます):

$('#someTable tr').each(function () {
    var tr = $('#someId').closest('tr');
    var tdSum = $(tr).find('td:contains("SUM")');

    $(tdSum).closest('tr').find('td:eq(5)').css('background-color', 'green');
});

私がやろうとしていることを理解していただければ幸いです。

4

3 に答える 3

0

まず第一に、trは現在のループ項目として既に利用可能です。tdテキストを含み、タグをSUM含まないを選択するには、示されているように以下のセレクターを使用します。b次に、フォーマットを適用します。

$('#someTable tr').each(function () {            
    var tr = $(this);
    var tdSum = $(tr).find('td:contains("SUM"):not(:has(b))').css('background-color', 'green');         
});
于 2012-11-19T16:09:30.117 に答える
0

を使用する場合は、each()を使用することをお勧めします$(this)

$('#someTable tr').each(function () {            
        if($(this).find('td:contains("SUM")').length > 0){            
            $(this).find('td:eq(5)').css('background-color', 'green');
        }
});
于 2012-11-19T16:09:57.957 に答える
0

.not() を使用してみて、ab タグで td を除外する必要があります

.not(':has("b")')

またはフィルター機能を使用して要素を除外します

$(tr).find('td:contains("SUM")').filter(function(){
     return $('b',this).length == 0;
});
于 2012-11-19T16:17:51.183 に答える