我想创建一个打开的菜单,当我点击一次,它打开,并显示给我其他李的,但我不想点击李氏的打开(孩子李的)它会关闭。我不想让它做什么。所以我想选择李的父母,但不是它的孩子,也是李。这是我尝试过的代码和解决方案,但没有奏效。
<ul>
<li class="only">1dkhg
<img src="https://encrypted-tbn1.gstatic.com/images?q=tbn:ANd9GcSrRT0M-NSrnnPJrKSF3YtyJGtSXjcBQHuuql5vp-cUYEx-j-F8">
<ul>
<li class="no">1kldg</li>
<li class="no">2kldg</li>
<li class="no">3kldg</li>
</ul>
</li>
而jquery:
$(document).ready(function() {
$(".only:not('.no')").click(function() {
$( this ).find('ul').animate({
height: "toggle"
});
$(this).find('img').toggleClass('click');
});
});
发布于 2014-02-01 17:56:16
你可以用:
$(".only").click(function (e) {
if(e.target !== this) return;
$(this).find('ul').animate({
height: "toggle"
});
$(this).find('img').toggleClass('click');
});
发布于 2014-02-01 17:54:05
一个更好的结构是在根anchor
中使用li
,这样当您单击锚点时,子ul
就会打开。这样您就可以避免担心事件冒泡,描述单击目标在语义上更准确:
<ul id="nav">
<li>
<a href="#">Anchor</a>
<ul>
<li>sub anchors</li>
</ul>
</li>
</ul>
Javascript:
$('#nav>li>a').click(function(e){
$(this).next().slideToggle();
});
https://stackoverflow.com/questions/21501431
复制相似问题