【发布时间】:2015-05-01 18:38:57
【问题描述】:
很抱歉,这可能是一个简单的问题,但我还没有找到一种方法来完成这项工作。我是 JQuery 的新手,我有一些嵌套列表,我试图将点击事件添加到父列表中,这将滑动切换子列表,我已经开始工作了,但是如果我点击任何子列表,它也会触发slideToggle。当只选择父类而不选择任何子类时,有没有办法指定选择器来执行操作?
这是我正在尝试做的简化版本:
$(document).ready(function() {
$(".liClass1").on("click", function(event){
event.stopPropagation();
$(this).find(".ulClass2").slideToggle();
});
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<html>
<body>
<form>
<ul class="ulClass1">
<li class="liClass1">
<span>liClass1</span>
<ul class="ulClass2">
<li class="liClass2">
<span>liClass2</span>
</li>
</ul>
</li>
</ul>
</form>
</body>
</html>
【问题讨论】:
-
如果您有几分钟的时间,可以更轻松地为您提供 Snippet。
-
可以使用被点击元素的
parent(),根据父属性阻止脚本继续执行。 -
@SimonArnold 我已经为这个例子添加了代码 sn-p
-
@Mike 看来问题在于您的选择器针对多个元素。