我有img
。单击它会检查其父级的背景颜色,如果是白色则将背景颜色切换为灰色,如果是灰色则将其切换为白色。这里k的值是rgb(255,255,255)(白色),但if循环可以被执行但是其他部分执行...意味着如果不能正常工作......在我的代码中,当我执行它时会发生什么....只有部分有时才会执行,当我改变某些东西时它只会执行其他部分....即使条件不满足......就像白色和白色当它是灰色时应该变灰...但它没有。 ...我想问一下我用过的情况......是否正确......
function havetotha(it) {
var k = $(it).parent().css('background-color');
$('#message').html(k);
if (k == 'white') {
$(it).parent().css('backgroundcolor','grey');
}
else {
$(it).parent().css('backgroundcolor','white');
}
}
我想通了......
in if if condition in comparison($(it).parent()。css('background-color')==“rgb(255,255,255)”)....其中rgb(255,255,255)是字符串但$ (它).parent()。css('background-color')它不是字符串所以....我使用了一个技巧我做了两个div一个与灰色背景和其他与白色....并比较背景与我的元素....它只需要很长时间才能进入我的脑海......
答案 0 :(得分:2)
请指定问题... Chage backgroundcolor为background-color .. 您可以按如下方式优化代码:
function havetotha(it) {
var k = $(it).parent()
$('#message').html(k);
if (k.css('background-colour') == "white") {
k.css('background-color','grey');
}
else if (k.css('background-colour') == "grey")({
k.css('background-color','white');
}
}
该行的目的是什么:
$( '#消息'),HTML(K);
答案 1 :(得分:0)
k应该在函数返回之前声明,或者将结果返回到全局变量,如下所示:
function havetotha(it) { return $(it).parent().css('background-color');}
k = havetotha(it);
//rest of the code