我需要有关此代码的帮助:
$(document).ready(function() {
$(".fav").click(function() {
$(".fav").removeClass("fav").addClass("fav_");
});
$(".fav_").click(function() {
$(".fav_").removeClass("fav_").addClass("fav");
});
});
点击.fav
div
后,他转换为.fav_
,反之亦然。好的,但问题是:
如果您点击一次.fav
课程,他会转换为.fav_
。但如果再点击一次,他就不会再转换为.fav
。
我试过把一个var检查。例如:
fav=true
fav=false
但它不起作用。
我理解jQuery,但我的通常语言是PHP,也许是困难。
答案 0 :(得分:2)
您需要在变量中保留对DOM元素的引用,并使用它。这样您就不必再次执行jQuery选择器了。
$(document).ready(function() {
var favs = $(".fav");
favs.click(function() {
favs.toggleClass("fav");
favs.toggleClass("fav_");
});
});
您还可以使用toggleClass()方法添加/删除类。如果它使用fav
进行测试,那么它应该在fav
和fav_
之间前后切换。所以不需要IF语句。
编辑:
如果要切换背景图像的显示,则不必删除fav
CSS类。只需切换fav_
,因为它的背景将覆盖fav
,因为它在CSS源代码中较低。
$(document).ready(function(){
$(".fav").click(function(){
$(this).toggleClass("fav_");
});
});