jQuery“.closest”不起作用
jQuery ".closest" doesn't work
我最近正在对模板进行一些调整。
它有这种常见问题解答部分,您可以在其中单击一个问题,然后答案幻灯片 down/shows-
不幸的是,这似乎坏了。
所以我想我可以在 footer.tpl 中添加一些 jquery。
这基本上是有效的 - 但它仍然需要一些调整。
我认为使用 .closest()
是正确的选择,但是...naaa:/
如果我忽略它,它会运行,但随后每个 li
都会做出反应。
我应该改用什么,所以只有 "closest" li
shows/hides?
$(document).ready(function(){
$(".accordion_current").click(function(){
$.closest(".accordion_content").slideToggle();
});
});
<ul class="list-accordion">
<li>
<h3 class="accordion_current">Anfahrt & Messeplan</h3>
<ul class="accordion_content">
<li>
<p>test</p>
</li>
</ul>
</li>
<li>
<h3 class="accordion_current">Anfahrt & Messeplan</h3>
<ul class="accordion_content">
<li>
<p>test</p>
</li>
</ul>
</li>
</ul>
你不需要 closest
,你需要 next
。使用 closest
你会找到元素的父元素,但你想寻找兄弟元素。
请注意,您必须使用 $(this)
而不仅仅是 $
。
$(function() {
$(".accordion_current").click(function() {
$(this).next(".accordion_content").slideToggle();
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul class="list-accordion">
<li>
<h3 class="accordion_current">Anfahrt & Messeplan</h3>
<ul class="accordion_content">
<li>
<p>test</p>
</li>
</ul>
</li>
<li>
<h3 class="accordion_current">Anfahrt & Messeplan</h3>
<ul class="accordion_content">
<li>
<p>test</p>
</li>
</ul>
</li>
</ul>
我最近正在对模板进行一些调整。 它有这种常见问题解答部分,您可以在其中单击一个问题,然后答案幻灯片 down/shows-
不幸的是,这似乎坏了。 所以我想我可以在 footer.tpl 中添加一些 jquery。 这基本上是有效的 - 但它仍然需要一些调整。
我认为使用 .closest()
是正确的选择,但是...naaa:/
如果我忽略它,它会运行,但随后每个 li
都会做出反应。
我应该改用什么,所以只有 "closest" li
shows/hides?
$(document).ready(function(){
$(".accordion_current").click(function(){
$.closest(".accordion_content").slideToggle();
});
});
<ul class="list-accordion">
<li>
<h3 class="accordion_current">Anfahrt & Messeplan</h3>
<ul class="accordion_content">
<li>
<p>test</p>
</li>
</ul>
</li>
<li>
<h3 class="accordion_current">Anfahrt & Messeplan</h3>
<ul class="accordion_content">
<li>
<p>test</p>
</li>
</ul>
</li>
</ul>
你不需要 closest
,你需要 next
。使用 closest
你会找到元素的父元素,但你想寻找兄弟元素。
请注意,您必须使用 $(this)
而不仅仅是 $
。
$(function() {
$(".accordion_current").click(function() {
$(this).next(".accordion_content").slideToggle();
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul class="list-accordion">
<li>
<h3 class="accordion_current">Anfahrt & Messeplan</h3>
<ul class="accordion_content">
<li>
<p>test</p>
</li>
</ul>
</li>
<li>
<h3 class="accordion_current">Anfahrt & Messeplan</h3>
<ul class="accordion_content">
<li>
<p>test</p>
</li>
</ul>
</li>
</ul>