简体   繁体   English

jQuery 切换——我做错了什么?

[英]jQuery Toggle -- What am I doing wrong?

I'm trying to get this to work but it doesn't want to: http://jsfiddle.net/b9ecoefy/1/我试图让它工作,但它不想: http : //jsfiddle.net/b9ecoefy/1/

Basically I'd like the DIV to show when the li > h4 > a is clicked基本上我希望 DIV 在li > h4 > a被点击时显示

 jQuery(document).ready(function($) { $('.item div').hide(); $('.item a').click(function(e) { e.preventDefault(); // hide all divs var $this = $(this).parent().find('div'); $(".item div").not($this).hide(); // toggle $this.toggle(); }); });
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <ul> <li class="item"> <h4><a href="javascript:void(0)">Test</a></h4> <div class="type"> <ul> <li><a href="#">Test</a> </li> </ul> </div> </li> <li> <h4><a href="#">Test</a></h4> </li> <li class="item"> <h4><a href="javascript:void(0)">Test</a></h4> <div class="date"> <ul> <li><a href="#">Test</a> </li> </ul> </div> </li> <li class="item"> <h4><a href="javascript:void(0)">Test</a></h4> <div class="type"> <ul> <li><a href="#">Test</a> </li> </ul> </div> </li> </ul>

$(this).parent().find('div'); won't work because .find() looks at descendants and you want the sibling, so use .next() instead.不会工作,因为.find()查看后代并且你想要兄弟,所以使用.next()代替。

 jQuery(document).ready(function($) { $('.item div').hide(); $('.item h4 a').click(function(e) { e.preventDefault(); // hide all divs var $this = $(this).parent().next('div'); $(".item div").not($this).hide(); // toggle $this.toggle(); }); });
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <ul> <li class="item"> <h4><a href="javascript:void(0)">Test</a></h4> <div class="type"> <ul> <li><a href="#">Test</a> </li> </ul> </div> </li> <li> <h4><a href="#">Test</a></h4> </li> <li class="item"> <h4><a href="javascript:void(0)">Test</a></h4> <div class="date"> <ul> <li><a href="#">Test</a> </li> </ul> </div> </li> <li class="item"> <h4><a href="javascript:void(0)">Test</a></h4> <div class="type"> <ul> <li><a href="#">Test</a> </li> </ul> </div> </li> </ul>

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

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