我无法从每个内部获取$(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;
}
});
}
});
console.log(this.id);返回undefined 15次,虽然我正在测试4行。我试过'停','更新'和'改变'事件。
答案 0 :(得分:4)
您传递的是string
,即".newProjectTask"
,而不是每个函数都有类newProjectTask的元素。每次迭代都会给出you character of the string
,要查看发生了什么,请查看此demo
更改
$.each(".newProjectTask", function() {
要
$.each($(".newProjectTask"), function() {
这是每个
获取元素的方法<强> Live Demo 强>
<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(
,而不是您使用的版本。
$(".newProjectTask").each( function() {
alert(this.id)
})