2

私は、btn-insertidhere の形式で動的に生成された ID を持つ div のセルをすべて含む行を持つテーブルを持っています。

テーブルの行が選択されたら、この div id を選択してから、クラスを削除して別のクラスに変更します。これは、クリックしたときにボタンの画像を追加記号から削除記号に変更したいという私次第です。

JavaScript コード:

  $('*[class^=day] tbody tr[id^=band]').live('click', function() {
        var DivId = $(this).find('div.add').attr('id');
        alert(DivId);

        $('DivId').removeClass('add').addClass('del');
        $('table#fri_myTimes tbody').append($(this)).fadeIn(1000);
        return false;
});

これは、動的に生成されたコードの HTML スニペットです。

<tr id="band-Modest-Mouse">
<td>Modest Mouse</td>
<td>15:25:00</td>
<td>16:10:00</td>
<td>45</td>
<td><div id="btn-Modest-Mouse" class="add">&nbsp;</div></td>
</tr>

ご覧のとおり、「追加」クラスを削除「クラス」に変更したいと思います。テーブルのすべてのテーブル行はこのように生成されるので、ご覧のとおり、ワイルドカード アプローチを使用しました。これは、表示されたアラートが正しい div ID を示しているため、機能しているようです。クラスチェンジするしかない!

ありがとう!

4

3 に答える 3

7

「.attr(id)」部分を削除して、div の jq オブジェクトを取得する必要があります。

var DivId = $(this).find('div.add');
...
$(DivId).removeClass('add').addClass('del');

または divId セレクターに # を追加します

$("#" + DivId).removeClass('add').addClass('del');
于 2010-08-05T00:04:23.940 に答える
1

DivId を囲む引用符を削除してみてください。これは変数名であり、引用符で囲むことはできません。そのような:

$(DivId).removeClass('add').addClass('del');
于 2010-08-05T00:00:52.307 に答える
1

変数 DivId は jquery オブジェクトであるため、まったく必要ありません$()

DivId.removeClass('add').addClass('del');
于 2012-05-18T16:14:00.317 に答える