Javascript切换元素的显示不起作用

jre*_*121 0 html javascript css toggle

我已经完成了几十次,但出于某种原因,我无法弄清楚为什么单击#downdown-button时#downdown-list div没有显示...

<html>
<head>
<script type="text/javascript">
    function toggleDropdown(optionalArg){
        optionalArg = (typeof optionalArg == "undefined")?'defaultValue':optionalArg
        ele = document.getElementById("dropdown-list");
        //If optionalArg is 0 we want to hide it
        if(optionalArg == 0){
            ele.style.display=='none'
        }
        //If optionalArg is 1 we want to show it
        else if(optionalArg == 1){
            ele.style.display=='block';
        }
        //If optionalArg is NULL we want to toggle it's display
        else{
            if(ele.style.display=='none')
                ele.style.display=='block';
            else
                ele.style.display=='none';
        }
    }
</script>
    <style type="text/css">
        #dropdown-container{
            width:200px;
            border:1px solid black;
            overflow: hidden;
        }
        #dropdown-text {
            width:176px;
            float:left;
        }
        #dropdown-button {
            text-align:center;
            width:20px;
            border:2px outset black;
            float:left;
        }
        #dropdown-button:active {
            border:2px inset black;
        }
        #dropdown-list {
            display:none;
            width:200px;
            max-height:250px;
            background-color:#b0c4de;
            border:1px solid #cccccc;
            overflow:auto;
        }
    </style>
</head>
<body>
    <div id="dropdown-container">
        <div id="dropdown-label">
            <input id="dropdown-text" type="text" />
            <div id="dropdown-button" onclick="toggleDropdown();">V</div>
        </div>
        <div id="dropdown-list">
            <ul class="dropdown-ul">
                <li>Item 1</li>
                <li>Item 2</li>
                <li>Item 3</li>
            </ul>
        </div>
    </div>
</body>
Run Code Online (Sandbox Code Playgroud)

应该是非常简单,但我认为现在已经很晚了,我对这个简单的JS问题有所了解.谢谢你看看吧!

Eli*_*ing 6

您使用相等运算符(==)而不是赋值(=):

        if(ele.style.display=='none')
            ele.style.display=='block';
        else
            ele.style.display=='none';
Run Code Online (Sandbox Code Playgroud)

应该

        if(ele.style.display=='none')
            ele.style.display='block';
        else
            ele.style.display='none';
Run Code Online (Sandbox Code Playgroud)