【发布时间】:2013-01-12 05:59:38
【问题描述】:
我正在尝试创建一个高效且最小化的 jQuery 下拉脚本。 我需要一种方法将几个 uls 与一个 li 相关联,并在每个循环中引用它。 将每个可点击的 li 标题视为一个集群,它们下面的“子”ul 也是其中的一部分。
我想编写一段高效的代码,使用 each 循环遍历每个可点击的 lis 并展开与其关联的子列表 uls。 问题是我需要知道如何以可以在每个循环中引用的方式将这些子列表 ul 与父 li 关联起来。没有标准的 jquery 选择器可以真正帮助我,因为子列表 uls 并不是 li 的真正孩子。
下面的 HTML 和 Jquery 尝试。请帮忙
<ul>
<li class='tier1'>This is what I want to click</li>
<ul (#1)>
<li>I want this to drop down</li>
</ul>
<ul>
<li id="gap">I want these to drop down</li>
</ul>
<li class='tier1'>Another clickable title</li>
<ul>
<li id="gap">I dont want this to drop down when I click the li at the top of this markup</li>
</ul>
</ul>
我的问题是当我单击它上面的 li 时我想要滑动切换的 ul (#1) 不是一个孩子。
于是我做了如下代码:
$(document).ready(function(){
$('.tier1').each(function(){
$(this).click(function(){
$(this).children('ul').slideToggle('slow');
});
});
});
【问题讨论】:
-
由于在 LI 之间嵌套了 UL,您的 HTML 无效。
-
请创建一个 JSFiddle 并分享链接。我们缺少一些元素(使用 .tier1 类的元素)