简体   繁体   English

JS在li上使用onclick事件显示块

[英]JS using onclick event on li to display block

HTML: HTML:

<script>function dropdown()
{        console.getElementById("").style.display="block";
}</script>
<div id="dropdown">
    <ul>
        <li onclick="dropdown()"><a>Menu</a>
             <ul id="Menuitems">
                 <li><a href="">item 1</a> </li>
                 <li><a href="">item 2</a> </li>
                 <li><a href="">item 3</a> </li>
            </ul>
        </li>
    </ul>
</div>    

Css: CSS:

#dropdown ul{
 display: block; 
}
#dropdown ul li {
     display: block;
     background-color: #558c89;
     color: #ffffff; 
}
#dropdown ul li ul {
     display: none; 
}
#dropdown ul li:hover > ul { /*this is what the onclick event should do*/
     display: block; 
}

The onclick should start the function "dropdown()" which needs to: "display: block;" onclick应该启动函数“ dropdown()”,该函数需要:“ display:block;” on #dropdown ul li 在#dropdown ul li上

Try: 尝试:

<li onClick="dropDown(this);">

This is important, so your function knows which element you clicked on. 这很重要,因此您的函数可以知道您单击了哪个元素。 Then... 然后...

function dropDown(li) {
    var submenu = li.getElementsByTagName('ul')[0];
    if( submenu) {
        submenu.style.display = submenu.style.display == "block" ? "" : "block";
    }
}

This will toggle the visibility of the submenu :) 这将切换子菜单的可见性:)

You're missing the list ID and you're calling the selector on the console (when you want to be selecting on the document). 您缺少列表ID,而是在控制台上调用选择器(当您想在文档上选择时)。

<script>
function dropdown()
{        
    document.getElementById("Menuitems").style.display="block";
}
</script>
<div id="dropdown">
    <ul>
        <li onclick="dropdown()"><a>Menu</a>
             <ul id="Menuitems">
                 <li><a href="">item 1</a> </li>
                 <li><a href="">item 2</a> </li>
                 <li><a href="">item 3</a> </li>
            </ul>
        </li>
    </ul>
</div>  

JSFiddle: http://jsfiddle.net/tmaB9/ JSFiddle: http : //jsfiddle.net/tmaB9/

here is a quick example of what i think you want (provided you can use JQuery): 这是我想您想要的一个简单示例(前提是您可以使用JQuery):

    $(document).ready(function () {
        $('#dropdown ul li').on('click', function dropdown() {
            //console.getElementById("").style.display = "block";
        });
    });

<div id="dropdown" class="dropdown">
    <ul>
        <li>menu 1</li>
        <li>menu 2</li>
        <li>menu 3</li>
        <li>menu 4</li>
    </ul>
</div>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM