javascript - jQuery - 单击链接后无法显示下拉列表

标签 javascript jquery html css

我有一个标题,我想在没有 Bootstrap 的情况下创建一个下拉菜单。

当我单击链接时,我希望出现下拉菜单。它默认隐藏。我尝试使用 jQuery 来显示列表。

HTML

<div class="menu">
     <div class="menu_center">
       <a href="#">Products</a>
         <ul>
            <li><a href="#">Clothing</a></li>
            <li><a href="#">Stationary</a></li>
            <li><a href="#">Other</a>
         </ul>

       <a href="#">Promotions</a>

       <a href="#">About Us</a>
         <ul>
            <li><a href="#">Philosophy</a></li>
            <li><a href="#">Our Suppliers</a></li>
            <li><a href="#">Contact</a></li>
         </ul>

       <a href="#">Your Cart:</a>
         <ul>
           <li><a href="#">Tech{Yourself} T-Shirt: Blue, Large - $19.95</a></li>
           <li><a href="#">Tech{Yourself} Owl Plush Toy - $19.95</a></li>
           <li><b>Total: $39.90</b> <button class="js-check-out">Check Out</button></li>
         </ul>
     </div>
  </div>

CSS

html body{
    font-family:'Open Sans',sans-serif;
    font-size:16px;
    line-height:18px;
    color:#000;
    font-weight:400;
}

.menu_center a {
     text-decoration: none;
 }

jQuery

$(document).ready(function() {
    $(".menu_center ul").hide();
    $(".menu_center > a").on("click", function() {
        $(this).children("ul").show();
    });
});

http://jsfiddle.net/9ov9za3r/1/

不确定为什么这不起作用。

最佳答案

ul 元素不是 a 元素的子元素,您需要执行以下操作:

$(this).next("ul").show();

jsfiddle

关于javascript - jQuery - 单击链接后无法显示下拉列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32147328/

相关文章:

jquery - 如何使用 Jquery 打破 iframe 并重定向页面

html - 将字段标签的基线与文本输入中的文本基线对齐

html - 将流体表转换为 div/css

javascript - jQuery 附加不能完全与 &lt;script&gt; 标签配合使用

javascript - Dojo 的响应式设计

javascript - 与 js 交换 div id 后 CSS 不起作用

javascript - 如何使用链接按钮在新选项卡中打开链接

javascript - 可以使用 jquery 根据其 div 类跳到页面的特定部分吗?

javascript - 如何根据 AngularJS 输入 class=ng-invalid 设置 Twitter Bootstrap class=error?

javascript - react : I have some error with edit state from reducers