我使用的手风琴在grand child
点击功能的同时点击它,必须在其class
grand parent
我知道parent()
方法用于指导父级。而parentsUntil()
更不清楚如何到达父级?
我的fiddle
在点击'.accordion > .head > h1 > span.httpmethod > a.trigger'
时,.active
课必须添加到其祖父.accordion
检查那个小提琴并给我一些想法。如果问题重复意味着抱歉。
答案 0 :(得分:1)
我认为你需要.closest()
$('.accordion a.trigger').click(function(){
$(this).closest('.accordion').toggleClass('active');
})
演示:Fiddle
答案 1 :(得分:0)
您可以使用$(“。selector”)。parent()。parent()。唯一的问题是当dom结构发生变化时你必须改变你使用的.parent()的数量。
答案 2 :(得分:0)
我更喜欢使用eq(http://api.jquery.com/eq/)过滤器来过滤点击的目标元素中的第三个父级。看看这个片段!
<html>
<head>
<script type="text/javascript">
$(".trigger").bind("click", function(event) {
var el = $(event.currentTarget);
var parent = el.parents().eq(3);
parent.toggleClass("active", true);
});
</script>
</head>
<body>
<div class="accordion">
<div class="head">
<h1>
<span class="httpmethod">
<a class="trigger">Link 1</a>
</span>
</h1>
</div>
</div>
<div class="accordion">
<div class="head">
<h1>
<span class="httpmethod">
<a class="trigger">Link 2</a>
</span>
</h1>
</div>
</div>
<div class="accordion">
<div class="head">
<h1>
<span class="httpmethod">
<a class="trigger">Link 3</a>
</span>
</h1>
</div>
</div>
</body>