私はdivのリストを持っています。これは基本的にユーザーがそれらのいずれかをクリックした例です。例:div datはdata-square = 0-1を持ち、div data-square = class attrとdata-squareの値がサーバーに送信され、サーバーがサーバーを置き換えるかどうかがサーバーによって承認されます。交換のために。それが受信すると、それはこのようにする必要がありjquery replacement attr
<div class="column" data-square="0-1">
<div class="GREEN"></div>
</div>
<div class="column" data-square="0-5">
<div class="GREEN"></div>
</div>
<div class="column" data-square="0-8">
<div class="YELLOW"></div>
</div>
:しかし、第一の内側のdiv attrがクリックされ、そしてサーバーに送信される前に、最初のものは=空
をクラスを持つべきである二番目のザッツに置き換える必要がありますバックサーバー
<div class="column" data-square="0-1">
<div class="EMPTY"></div>
</div>
<div class="column" data-square="0-5">
<div class="GREEN"></div>
</div>
<div class="column" data-square="0-8">
<div class="GREEN"></div>
</div>
が、私は、サーバーから受信した、 からそれは、ユーザが拳の時間をクリックしたクラスと題しGREENを交換する必要があり、すべてのクラスはGREENと題し削除されます。
私は最初のdivをサーバに送付せずに空にすることができます。 しかし、来ると、クラス全体を受け取ったときにアクションを実行すると削除されます。
$.post("check.php", { from:from,to:to,classFrom:$classFrom,classTo:classTo},
function(data) {
$($classFrom).children().removeAttr('class').addClass('EMPTY');
})
質問は何ですか? –
クラスセレクタは定義上、同じクラスのすべてのDOM要素を選択します。 $ classFromはどのように定義されていますか? $ classFromが$( 'GREEN')として定義されている場合、説明したようにGREENのクラスを持つすべての要素が選択されます。 –
だから、唯一の解決策はdiv全体をコピーすることでしょうか? – user1349526