JavaScript 在一个 if 语句上执行多个操作
javascript multiple actions on one if statement
我想做的可以总结为:"如果满足这个条件,那么做以下多个动作。 我的代码对于要完成的第一件事工作正常,但是当我添加要执行的其他操作时,我收到"未捕获的语法错误:意外的令牌其他"错误。 我将在下面注意问题行。
function turnonall(cl) {
var elements = document.getElementsByClassName(cl);
for (var i = 0; i < elements.length; i++){
if (elements[i].style.display == 'none' || elements[i].style.display == '' || elements[i].style.display == 'block')
elements[i].style.display = 'block';
elements[i].style.className = 'buttonactive'; <--this line is throwing the error.
else
elements[i].style.display = 'none';
}
}
您的if/else
语句的签名不正确。您尝试的内容仅适用于if
语句中具有一行的if/else
语句。将多行添加到无括号if/else
后,需要括号
只需将您的 if 和 else 块括在括号中,如下所示:
function turnonall(cl) {
var elements = document.getElementsByClassName(cl);
for (var i = 0; i < elements.length; i++) {
if (elements[i].style.display == 'none' || elements[i].style.display == '' || elements[i].style.display == 'block') {
elements[i].style.display = 'block';
elements[i].style.className = 'buttonactive';
} else {
elements[i].style.display = 'none';
}
}
}
但是,您并非100%不正确。例如,这是有效的 JavaScript:
if (true)
console.log('it is true')
else
console.log('it is not true')
但这不是
if (true)
console.log('it is true')
console.log('and I like it')
else
console.log('it is not true')
function turnonall(cl) {
var elements = document.getElementsByClassName(cl);
for (var i = 0; i < elements.length; i++){
if (elements[i].style.display == 'none' || elements[i].style.display == '' || elements[i].style.display == 'block')
{ // Bracket!
elements[i].style.display = 'block';
elements[i].style.className = 'buttonactive'; <--this line is throwing the error.
} // Bracket!
else
elements[i].style.display = 'none';
}
}
相关文章:
- 如何在ReactJS JSX中执行嵌套的if-else语句
- Sharepoint JScript if语句未执行
- If语句只执行第一个条件并运行其他条件,但没有结果
- If语句只执行一次
- 执行 If 语句,仅当元素存在时
- Google Chrome 不会执行所有 JavaScript 语句
- 每次 url 哈希更改时执行 if 语句
- ReactJS:在带有 ajax 调用的 .map() 语句完成后执行代码
- 三元运算符未执行的虚假语句
- for 循环中的 if 语句都执行,而不仅仅是一个
- 如何在javascript中循环结束后执行语句
- 如何在页面加载后执行if语句
- 嵌套if语句中的else语句.这段代码如何知道要执行哪个else语句
- 为什么以下语句执行没有错误
- 使用 switch 语句执行一个 while 循环
- Javascript 语句执行顺序
- indexOf字符串的Keyup if语句执行奇数
- 无法理解return语句执行后的流程
- 两个语句执行之间所需的延迟
- 为什么不'my 'for'语句循环和其中的if语句执行