for (var i = 0; i < nodes1.length; i++) {
if (nodes1[i].nodeName == "P" && nodes1[i].nodeType == 1) {
if(i%2==0){
nodes1[i].style.backgroundColor = "yellow";
}else{
nodes1[i].style.backgroundColor = "red";
}
}
}
if(){}else{} 是语句,是没有返回值的,而三元表达式则是表达式,是可以直接赋值的。所以你不能想当然就这么用。
如果你真想获得类似三元表达式的效果,可以这样:
for (var i = 0; i < nodes1.length; i++) {
if (nodes1[i].nodeName == "P" && nodes1[i].nodeType == 1) {
nodes1[i].style.backgroundColor = function(){
if(i%2==0){ //把if语句放入一个匿名函数中
return "yellow";
}else{
return "red";
}
}(); //立即执行这个匿名函数
}
}
写法有误,if语句不能用在表达式中