我正在使用点击打开的手风琴式脚本。问题是重复应用它的选择器,并且由于点击链接,只有被点击的元素的子元素应该受到影响,而所有其他列表项(重复的)都会受到影响。同一时间。
jquery是这样的:
$(document).ready(function(){
$("#odd-accordion ul.nextslide > li a").click(function(){
$("ul.nextslide-second a").slideToggle('300');
});
});
html是这样的:
<div class="adminmenuback">
<div class="commonlogo">
<img src="images/logo.png" alt="Wish2book">
</div>
<div class="searchh">
<input type="text" placeholder="search"><span class="menutitle_rightimage"></span>
</div>
<h2 class="menutitle"><span class="dashboard-icon"></span>Dashboard</h2>
<ul class="adminmenu" id="odd-accordion">
<li>
<h3><a href="#">Flights</a></h3>
<ul class="nextslide">
<li><a href="#">abc</a>
<ul class="nextslide-second">
<li><a href="#">abc-child</a>
</li>
</ul>
</li>
</ul>
</li>
<li>
<h3><a href="#">Flights</a></h3>
<ul class="nextslide">
<li><a href="#">abc</a>
<ul class="nextslide-second">
<li><a href="#">abc-child</a>
</li>
</ul>
</li>
</ul>
</li>
<li>
<h3><a href="#">Flights</a></h3>
<ul class="nextslide">
<li><a href="#">abc</a>
<ul class="nextslide-second">
<li><a href="#">abc-child</a>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
请帮助。 jsfiddle链接在这里: http://jsfiddle.net/BVz97/
在jsfiddle中,只需点击“abc”即可选择所有abc-child
答案 0 :(得分:2)
您可以使用find
仅查找已点击元素中包含的内容。
$("#odd-accordion ul.nextslide > li a").click(function(){
$(this).closest(".nextslide").find("ul.nextslide-second a").slideToggle('300');
});
答案 1 :(得分:0)
您需要停止传播:
$(document).ready(function(){
$("#odd-accordion ul.nextslide > li a").click(function(ev){
ev.preventDefault();
ev.stopPropagation();
$("ul.nextslide-second a").slideToggle('300');
});
});