gpt4 book ai didi

javascript - 三元语句不起作用

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:42:59 25 4
gpt4 key购买 nike

1.  document.getElementById('navButton').addEventListener('click', toggleNav);
2. document.getElementById('menuButton').addEventListener('click', toggleMenu);
3. function toggleNav(){
4. document.getElementById('nav').className == 'open' ? 'closed' : 'open';
5. document.getElementById('navButton').className == 'open' ? 'closed' : 'open';
6. }
7. function toggleMenu(){
8. document.getElementById('menu').className == 'open' ? 'closed' : 'open';
9. document.getElementById('menuButton').className == 'open' ? 'closed' : 'open';
10. }

在上面的代码中,我在第 4、5、8 和 9 行旁边收到以下错误消息:

"Expected an assignment or function call and instead saw an expression."

我以前从未遇到过这个问题,如果我只是更改 document.getElementById('nav').className == 'open' ? 'closed' : 'open';document.getElementById('nav').className = 'open';,效果很好。我做错了什么?

最佳答案

您没有将三元返回值分配给任何东西。你需要做这样的事情:

document.getElementById('nav').className = document.getElementById('nav').className == 'open' ? '关闭' : '打开';

这是来自 MDN 的示例更容易消化:

var elvisLives = Math.PI > 4 ? "Yep" : "Nope";
^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^ ^^^^^^^
// assignment condition expr1 expr2

关于javascript - 三元语句不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37084612/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com