Jquery 单击时一次发生多个操作
我使用的是点击打开的手风琴式脚本。问题是应用它的选择器是重复的,因此在单击链接时,只有一个被单击元素的子元素会受到影响,而所有其他列表项(重复的)会同时受到影响 jquery如下所示:Jquery 单击时一次发生多个操作,jquery,Jquery,我使用的是点击打开的手风琴式脚本。问题是应用它的选择器是重复的,因此在单击链接时,只有一个被单击元素的子元素会受到影响,而所有其他列表项(重复的)会同时受到影响 jquery如下所示: $(document).ready(function(){ $("#odd-accordion ul.nextslide > li a").click(function(){ $("ul.nextslide-second a").slideToggle('300'); }); }); &
$(document).ready(function(){
$("#odd-accordion ul.nextslide > li a").click(function(){
$("ul.nextslide-second a").slideToggle('300');
});
});
<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>
html如下所示:
$(document).ready(function(){
$("#odd-accordion ul.nextslide > li a").click(function(){
$("ul.nextslide-second a").slideToggle('300');
});
});
<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>
仪表板
请帮忙。JSFIDLE链接如下:
在JSFIDLE中,只需单击“abc”即可选择所有abc子项您需要停止传播:
$(document).ready(function(){
$("#odd-accordion ul.nextslide > li a").click(function(ev){
ev.preventDefault();
ev.stopPropagation();
$("ul.nextslide-second a").slideToggle('300');
});
});
您可以使用
find
仅查找已单击元素中包含的元素
$("#odd-accordion ul.nextslide > li a").click(function(){
$(this).closest(".nextslide").find("ul.nextslide-second a").slideToggle('300');
});
你的小提琴不完整。你的小提琴似乎有js代码,但没有html。“这样不行!”詹姆斯蒙塔尼,你怎么知道的?你试过了吗?@gdoron是的。它是空白的。js没有生成任何东西,它只是附加到不存在的元素。@JamesMontagne,对不起,我的意思是:
你怎么知道的?你试过了吗<代码>:)