0

これは、テーブル内の画像のクラスを決定し、それに応じて動作する jQuery 関数です。画像の親に class がない場合は、その class を指定してから、 を div (順序) にselected追加します。td idクラスが含まれている場合は、クラスselectedを削除してから、. を含む p 要素を削除する必要がありtd idます。

$(document).ready(function () {
    $('td img').click(function () {
        if ($(this).parent().hasClass('x')) {
            alert("Seat " + ($(this).parent().attr("id")) + " is taken");
        } else if ($(this).parent().hasClass('selected')) {
            $(this).attr('src', 'images/a.gif');
            $(this).parent().removeClass('selected');
            var z = $(this).parent().attr('id');
            $(z).remove();
            return false;
        } else {
            $(this).attr('src', 'images/c.gif');
            $(this).parent().addClass('selected');
            alert($(this).parent().attr("class"));
            var z = $(this).parent().attr('id');
            $('<p>').attr('id', z).text(z).appendTo('#order');
            return false;
        };
    });
});

要素を削除するまで機能しpますが、そうではありません。はp id動的に設定され、 と同じであるtd idため、変数を使用して ID を選択します。

4

1 に答える 1

1

わかりました、ここでの答えの組み合わせでした。

まず、ID が一意ではなかったため、接尾辞を追加しました。

var z = $(this).parent().attr('id'); $('<p>').attr('id', z+'1' ).text(z).appendTo('#order');'

次に、の提案を使用しました$('#' + z).remove();が、新しい接尾辞に変更したため、これが表示されます$('#' + z+'1').remove();

すべてが機能しているようです。ご協力ありがとうございます。

于 2013-03-05T13:32:43.383 に答える