1

我无法从每个内部获取 $(this)。我正在尝试在移动一行后重置表格的 css。“#newTaskBody”是 tbody 的 id。“.newProjectTask”是 s 的类。

// 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;
            }
        });
    }
});

控制台.log(this.id); 尽管我正在测试 4 行,但返回 undefined 15 次。我尝试过“停止”、“更新”和“更改”事件。

4

1 回答 1

4

您将stringie传递".newProjectTask"给每个函数,而不是具有类 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)
})

最好使用每个ie的其他版本,$('.newProjectTask').each(而不是在您使用的一个上。</p>

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