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