1

この問題を解決しようとして少し行き詰まっています。いくつかのセルのコンテンツを取得する必要があり、その後、このセルの内部テキストを更新します

たとえば、各行でクラス = 2 とクラス = 4 のセルの値を取得し、その後、内部テキストを更新する必要があります

私はこのコードでそれをやろうとしました:

$(element).each(function ()
{
   // code code code
});

しかし、このコードは各行で各要素を取得するだけなので、実際には必要なものではありませんが、一度に各行でいくつかの要素を取得する必要があります

次のように見えるはずです:

  1. 行を取得します。
  2. 現在の行でクラス = 1 およびクラス = 2 の要素を取得します
  3. コンテンツをスクリプトに送信する
  4. セルの内容を更新する
  5. 次の行を取得

ここにテーブルの例があります:

<table>
    <tr>
        <td class="1"> Cell One </td>
        <td class="2"> Cell Two </td>
        <td class="3"> Cell Three </td>
        <td class="4"> Cell Four </td>
    </tr>
    <tr>
        <td class="1"> Also one Cell One </td>
        <td class="2"> Also one Cell Two </td>
        <td class="3"> Also one Cell Three </td>
        <td class="4"> Also one Cell Four </td>
    </tr>
</table>

**

そしてまた。.

**

テーブルの各行に対して、現在の行 ajax.php?id=column1&val=column2 の 2 つのセルの内部テキストを含む Ajax クエリを送信する必要があります

4

2 に答える 2

2

次のようなことができます

また、あなたがしようとしているのは、現在のtdにクラス1または2があるかどうかで、.hasClass()を使用できると思います

$('table').find('tr').each(function(){
    var $tr = $(this);
    $tr.find('.1, .2').html(function(idx, html){
        var $td = $(this);

        if($td.hasClass('1')){
            return html + ' class-1';
        } else if($td.hasClass('2')){
            return html + ' class-2';
        }

        return html + ' modified'
    })
})

デモ:フィドル

于 2013-07-09T06:34:52.760 に答える
1

以下は、すべてのセットを一度に提供class="1"class="2"ます。

$('tr .1, tr .2')

次に、次のようなことを行うことができます。

$('tr .1, tr .2').each(function() {
    if($(this).is('.1')) {
       // class="1" stuff
    } else {
       // class="2" stuff
    }
});

行ごとに繰り返しを行う場合は、行を選択してから$('tr')、繰り返し内で対象の子を見つけることができます。

$('tr').each(function() {
    var cols = $('.1, .2', this);
    // do something with cols
});

進むべき道はたくさんあります。最善の解決策は、達成しようとしていることの詳細によって異なります。

于 2013-07-09T06:33:49.553 に答える