Javascript jQuery if/else语句不起作用
对jQuery来说非常陌生,我不明白为什么这段代码不起作用。我将主体的背景设置为黑色,但我总是返回else语句,并且我的背景变成橙色而不是所需的粉色Javascript jQuery if/else语句不起作用,javascript,jquery,html,if-statement,conditional,Javascript,Jquery,Html,If Statement,Conditional,对jQuery来说非常陌生,我不明白为什么这段代码不起作用。我将主体的背景设置为黑色,但我总是返回else语句,并且我的背景变成橙色而不是所需的粉色 $(document).ready(function(){ $("body").css("background","black"); if ($("body").css("background") == "black") { $("body").css("background", "pink");
$(document).ready(function(){
$("body").css("background","black");
if ($("body").css("background") == "black") {
$("body").css("background", "pink");
}
else {
$("body").css("background", "orange");
}
});
你可以看到这里发生了什么:你不能只要求像“背景”这样的复合CSS样式;该值作为空字符串返回。询问“背景色”。(编辑-Firefox给了我空字符串;其他浏览器可能会为您构建整个复合背景属性集。) 现在,一旦你解决了这个问题,你会发现报告的颜色不会是“黑色”。这将是一些其他颜色语法,意思是“黑色” 与其依赖样式机制来跟踪正在发生的事情,不如使用类:
$("body").addClass("black");
if ($("body").hasClass("black"))
$("body").addClass("pink");
else
$("body").addClass("orange");
然后在CSS中:
body.black { background-color: black; }
body.pink { background-color: pink; }
body.orange { background-color: orange; }
更好的方法是,对页面状态使用一些语义上有意义的名称,而不是颜色名称,这样,如果你以后改变主意,想让背景从一只狗变为一只小猫,代码仍然是有意义的。你不能只要求像“background”这样的复合CSS样式;该值作为空字符串返回。询问“背景色”。(编辑-Firefox给了我空字符串;其他浏览器可能会为您构建整个复合背景属性集。) 现在,一旦你解决了这个问题,你会发现报告的颜色不会是“黑色”。这将是一些其他颜色语法,意思是“黑色” 与其依赖样式机制来跟踪正在发生的事情,不如使用类:
$("body").addClass("black");
if ($("body").hasClass("black"))
$("body").addClass("pink");
else
$("body").addClass("orange");
然后在CSS中:
body.black { background-color: black; }
body.pink { background-color: pink; }
body.orange { background-color: orange; }
更好的方法是,对页面状态使用一些语义上有意义的名称,而不是颜色名称,这样,如果你以后改变主意,想让背景从一只狗变为一只小猫,代码仍然是有意义的。你不能只要求像“background”这样的复合CSS样式;该值作为空字符串返回。询问“背景色”。(编辑-Firefox给了我空字符串;其他浏览器可能会为您构建整个复合背景属性集。) 现在,一旦你解决了这个问题,你会发现报告的颜色不会是“黑色”。这将是一些其他颜色语法,意思是“黑色” 与其依赖样式机制来跟踪正在发生的事情,不如使用类:
$("body").addClass("black");
if ($("body").hasClass("black"))
$("body").addClass("pink");
else
$("body").addClass("orange");
然后在CSS中:
body.black { background-color: black; }
body.pink { background-color: pink; }
body.orange { background-color: orange; }
更好的方法是,对页面状态使用一些语义上有意义的名称,而不是颜色名称,这样,如果你以后改变主意,想让背景从一只狗变为一只小猫,代码仍然是有意义的。你不能只要求像“background”这样的复合CSS样式;该值作为空字符串返回。询问“背景色”。(编辑-Firefox给了我空字符串;其他浏览器可能会为您构建整个复合背景属性集。) 现在,一旦你解决了这个问题,你会发现报告的颜色不会是“黑色”。这将是一些其他颜色语法,意思是“黑色” 与其依赖样式机制来跟踪正在发生的事情,不如使用类:
$("body").addClass("black");
if ($("body").hasClass("black"))
$("body").addClass("pink");
else
$("body").addClass("orange");
然后在CSS中:
body.black { background-color: black; }
body.pink { background-color: pink; }
body.orange { background-color: orange; }
更好的方法是,对页面状态使用一些语义上有意义的名称,而不是颜色名称,这样,如果你以后改变主意,想让背景从一只狗变成一只小猫,代码仍然有意义。修复方法很简单<代码>$(“正文”).css(“背景色”、“黑色”)!=“黑色”。相反,它等于rgb(0,0,0)。在CSS中,“黑色”不是真正的颜色。相反,它会转换为rgb()
颜色。要解决此问题,请执行以下操作:
$(document).ready(function(){
$("body").css("background-color","black");
console.log($("body").css("background-color"))
if ($("body").css("background-color") == "rgb(0, 0, 0)") {
$("body").css("background-color", "pink");
}
else {
$("body").css("background-color", "orange");
}
});
解决办法很简单<代码>$(“正文”).css(“背景色”、“黑色”)!=“黑色”。相反,它等于rgb(0,0,0)。在CSS中,“黑色”不是真正的颜色。相反,它会转换为rgb()
颜色。要解决此问题,请执行以下操作:
$(document).ready(function(){
$("body").css("background-color","black");
console.log($("body").css("background-color"))
if ($("body").css("background-color") == "rgb(0, 0, 0)") {
$("body").css("background-color", "pink");
}
else {
$("body").css("background-color", "orange");
}
});
解决办法很简单<代码>$(“正文”).css(“背景色”、“黑色”)!=“黑色”。相反,它等于rgb(0,0,0)。在CSS中,“黑色”不是真正的颜色。相反,它会转换为rgb()
颜色。要解决此问题,请执行以下操作:
$(document).ready(function(){
$("body").css("background-color","black");
console.log($("body").css("background-color"))
if ($("body").css("background-color") == "rgb(0, 0, 0)") {
$("body").css("background-color", "pink");
}
else {
$("body").css("background-color", "orange");
}
});
解决办法很简单<代码>$(“正文”).css(“背景色”、“黑色”)!=“黑色”。相反,它等于rgb(0,0,0)。在CSS中,“黑色”不是真正的颜色。相反,它会转换为rgb()
颜色。要解决此问题,请执行以下操作:
$(document).ready(function(){
$("body").css("background-color","black");
console.log($("body").css("background-color"))
if ($("body").css("background-color") == "rgb(0, 0, 0)") {
$("body").css("background-color", "pink");
}
else {
$("body").css("background-color", "orange");
}
});
css“background”提供了完整的背景参数,它看起来像:
"rgb(0,0,0) none repeat scroll..."
如果只想检查颜色,则需要指定要使用颜色属性,并根据实际使用的值对其进行测试,而不是实际要测试rgb颜色值的“黑色”:
if ($('body').css("background-color") == "rgb(0, 0, 0)")
css“background”提供了完整的背景参数,它看起来像:
"rgb(0,0,0) none repeat scroll..."
如果只想检查颜色,则需要指定要使用颜色属性,并根据实际使用的值对其进行测试,而不是实际要测试rgb颜色值的“黑色”:
if ($('body').css("background-color") == "rgb(0, 0, 0)")
css“background”提供了完整的背景参数,它看起来像:
"rgb(0,0,0) none repeat scroll..."
如果只想检查颜色,则需要指定要使用颜色属性,并根据实际使用的值对其进行测试,而不是实际要测试rgb颜色值的“黑色”:
if ($('body').css("background-color") == "rgb(0, 0, 0)")
css“background”提供了完整的背景参数,它看起来像:
"rgb(0,0,0) none repeat scroll..."
如果只想检查颜色,则需要指定要使用颜色属性,并根据实际使用的值对其进行测试,而不是实际要测试rgb颜色值的“黑色”:
if ($('body').css("background-color") == "rgb(0, 0, 0)")
很容易理解它失败的原因:
console.log($(“body”).css(“background”)代码>颜色通常以rgb
格式返回,而不是hex
。这