Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/434.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将if语句放到其他if语句中?_Javascript - Fatal编程技术网

Javascript 如何将if语句放到其他if语句中?

Javascript 如何将if语句放到其他if语句中?,javascript,Javascript,我想把if语句放在其他if语句中 因此,如果#是激子,则检查“#b”是否为激子 如果有#b#则背景色为黑色 否则#c背景颜色将为灰色 如果#a不是激进分子,然后检查#b是否是激进分子 如果有#b,则#b背景色将为红色 否则#c背景颜色将为蓝色 我怎样才能使这个脚本在任何情况下都能很好地工作 有什么问题吗? 任何帮助都将不胜感激!谢谢!:) setInterval(函数(){ var testone=document.getElementById(“a”); var testtwo=docume

我想把if语句放在其他if语句中 因此,如果#是激子,则检查“#b”是否为激子 如果有#b#则背景色为黑色 否则#c背景颜色将为灰色

如果#a不是激进分子,然后检查#b是否是激进分子 如果有#b,则#b背景色将为红色 否则#c背景颜色将为蓝色

我怎样才能使这个脚本在任何情况下都能很好地工作

有什么问题吗? 任何帮助都将不胜感激!谢谢!:)

setInterval(函数(){
var testone=document.getElementById(“a”);
var testtwo=document.getElementById(“b”);
var testthree=document.getElementById(“c”);
如果($(“#a”)[0]){
if(document.getElementById(“b”)){
testone.style.background=“黑色”;
}否则{
testthree.style.background=“灰色”;
}
}否则{
if(document.getElementById(“b”)){
testtwo.style.background=“红色”;
}否则{
testthree.style.background=“蓝色”;
}
}
}, 1000);
#a{
宽度:150px;
高度:150像素;
边框:1px纯黑;
}
#b{
宽度:100px;
高度:100px;
显示:块;
左边距:自动;
右边距:自动;
边框:1px纯灰;
边缘顶部:50px;
}
#c{
宽度:50px;
高度:50px;
显示:块;
左边距:自动;
右边距:自动;
边框:1px纯灰;
边缘顶部:50px;
}

我建议不要使用jQuery。您也可以仅使用
元素
返回
,具体取决于元素是否存在

var testone=document.getElementById(“a”);
var testtwo=document.getElementById(“b”);
功能监视分区(){
if(testone){
if(testtwo){
testone.style.background=“黑色”;
}否则{
testone.style.background=“灰色”;
}
}否则{
if(testtwo){
testtwo.style.background=“红色”;
}否则{
testtwo.style.background=“蓝色”;
}
}
}
值班室
setInterval(函数(){
值班室
},1000);
.a{
宽度:150px;
高度:150像素;
边框:1px纯黑;
}
.b{
宽度:50px;
高度:50px;
显示:块;
左边距:自动;
右边距:自动;
边框:1px纯灰;
边缘顶部:50px;
}

编辑,自OP更改后更新:
#b
背景设置为蓝色永远不会实现,因为如果
#b
不存在,则无法设置
#b
背景

如果找不到具有
getElementById
的元素,它将在If语句中返回
undefined
undefined
,相当于
false

你有一些JQuery代码在里面,所以我删除了它

我还删除了重复的CSS代码

函数updateBackground(){
设testone=document.getElementById(“a”);
设testtwo=document.getElementById(“b”);
设testthree=document.getElementById(“c”);
if(testone和testtwo){
testone.style.background=“黑色”;
}else if(testone){
testone.style.background=“灰色”;
}elseif(testtwo){
testtwo.style.background=“红色”;
}else if(测试三){
testthree.style.background=“蓝色”;
}
}
updateBackground();
设置间隔(updateBackground,1000)
#a{
宽度:150px;
高度:150像素;
边框:1px纯黑;
}
#b、 #c{
宽度:100px;
高度:100px;
保证金:50px自动0px;
边框:1px纯灰;
}
#c{
宽度:50px;
高度:50px;
}

完成指定工作的明显方法是使用逻辑运算符

我想您需要检查元素是否在另一个元素中,然后您可以使用contains()方法,同样您也可以编写代码

setInterval(函数(){
var one=document.getElementById(“a”);
var two=document.getElementById(“b”);
//显而易见的方式
如果(一和二){
one.style.backgroundColor=“黑色”;
}else if(一和二){
1.style.backgroundColor=“灰色”;
}否则如果(!一和二){
2.style.backgroundColor=“红色”;
}否则,如果(!1&&!2){
2.style.backgroundColor=“蓝色”;
}
//检查特定元素是否包含特定元素的方法
如果(一个包含(两个)){
one.style.backgroundColor=“黑色”;
}否则{
1.style.backgroundColor=“灰色”;
}
}, 1000);
#a{
宽度:150px;
高度:150像素;
边框:1px纯黑;
}
#b{
宽度:50px;
高度:50px;
显示:块;
左边距:自动;
右边距:自动;
边框:1px纯色灰色;
边缘顶部:50px;
}


“如果它有#b,那么#b背景色将是红色的,否则#b背景色将是蓝色的”:如果它根本不存在,
#b
的背景色怎么可能是蓝色的呢?嗨@Carsten Massamann谢谢你让我知道这一点,我的错误;;我现在就去修理,对不起<代码>if
条件下,不需要使用code>。