1

それぞれの中から$(this)をつかむことができません。行が移動された後、テーブルのcssをリセットしようとしています。「#newTaskBody」はtbodyのIDです。「.newProjectTask」はのクラスです。

// make the table sortable;
$("#newTaskBody").sortable({
    stop: function() {
        var counter = 0;
        $.each(".newProjectTask", function() {
            console.log(this.id);
            if(counter == 0)
            {
                $(this).removeClass("even odd");
                $(this).addClass("even");
                counter = 1;
            }
            else
            {
                $(this).removeClass("even odd");
                $(this).addClass("odd");
                counter = 0;
            }
        });
    }
});

console.log(this.id); 4行でテストしていますが、未定義を15回返します。「停止」、「更新」、「変更」の各イベントを試しました。

4

1 に答える 1

4

クラスnewProjectTaskを持つ要素の代わりに、stringつまり各関数に渡されます。".newProjectTask"反復ごとにyou character of the string、何が起こっているかを確認するには、このデモを確認してください

変化する

$.each(".newProjectTask", function() {

$.each($(".newProjectTask"), function() {

これはあなたがそれぞれによって要素を取得する方法です

ライブデモ

<div id="div1" class="newProjectTask" > div1 </div>
<div id="div1"  class="newProjectTask" > div2 </div>
<div id="div1"  class="newProjectTask" > div3 </div>


​$.each($(".newProjectTask"), function() {
    alert(this.id)
})

それぞれの他のバージョン、つまり使用したバージョンではなく、他のバージョンを使用する$('.newProjectTask').each(ことをお勧めします。</ p>

$(".newProjectTask").each( function() {
    alert(this.id)
})
于 2012-12-03T17:19:06.487 に答える