Jquery 每次删除项目时添加类?
感谢您提前查看此问题 我在大学里做的一个项目中使用jQuery拖放,我希望计算每一次拖放,并更改添加到每个拖放上的类 以下是jQuery:Jquery 每次删除项目时添加类?,jquery,drag-and-drop,Jquery,Drag And Drop,感谢您提前查看此问题 我在大学里做的一个项目中使用jQuery拖放,我希望计算每一次拖放,并更改添加到每个拖放上的类 以下是jQuery: $('#droppableChoking').droppable({ drop: function (event, ui) { //reuse jQuery object var $this = $(this); //get object type var droppedObject
$('#droppableChoking').droppable({
drop: function (event, ui) {
//reuse jQuery object
var $this = $(this);
//get object type
var droppedObject = ui.draggable.data('object');
//css reset
$this.removeClass();
$this.addClass("grape" + droppedObject);
}
//play drop sound
audioClap.play();
}
});
我尝试过做一个循环,每次都将计数的值添加到类中以更改它,但我做错了什么 removeClass
要求从每个匹配元素的class属性中删除一个或多个以空格分隔的类
因此,考虑到这一点,您对removeClass的调用不太可能删除任何内容。如果要清除该类,请执行$this.attr('class','')
至于计数器,这里是我更新的JS:
var counter = 0;
$('#droppableChoking').droppable({
drop: function (event, ui) {
++counter;
//reuse jQuery object
var $this = $(this);
//get object type
var droppedObject = ui.draggable.data('object');
//css reset
$this.attr('class', '');
$this.addClass("grape" + droppedObject);
// what to do with counter? not sure. Whatever you want. I'm setting text. Not sure how you want to use it for the class.
$this.text(counter);
}
//play drop sound
audioClap.play();
}
});
试着这样做:
var drop_count = 0;
$('#droppableChoking').droppable({
drop: function (event, ui) {
//reuse jQuery object
var $this = $(this);
//get object type
var droppedObject = ui.draggable.data('object');
//css reset
$this.removeClass();
$this.addClass("grape_" + drop_count);
drop_count++;
//play drop sound
audioClap.play();
}
});
类名应该是什么样的?调用removeClass()时需要传递要删除的类。好吧,循环不会有帮助,除非你能以某种方式将用户放入循环中,如果你能做到这一点,JS是一种比我想象的要酷得多的语言……但是你保持计数器的想法是正确的。你只需要把计数器放在某个地方,比如一个全局变量,或者放在函数的闭包内。@Boundless
removeClass()
没有参数会删除所有类。在你的代码中,在addClass
行之后有一个错误的闭包括号。你关于removeClass()
的指令是错误的。请注意,在API中,传递给函数的参数在[]括号中elem.removeClass([className])
。这意味着参数是可选的。不传递任何内容将导致删除所有类,正如OP所预期的那样。@ATOzTOA括号是我尝试执行循环时使用的,对不起。但上述方法是有效的。我试图让事情变得比实际情况更难。谢谢你,伊莱@idrumgood您是正确的+1。我以为没有任何参数removeClass就不能工作。