我不知道如何写这个。
请参阅我的标记结构,该结构在页面上重复多次。
<div class="module">
<div class="archive-info">
<span class="archive-meta">
open
</span>
</div>
<div class="archive-meta-slide">
</div>
</div>
正如你在我的标记中看到的,我有一个<span>
这是我的$metaButton
- 单击此按钮时,它会在div.archive-meta-slide
- 这很简单,但我试图仅在当前上运行动画div.module
它为类中的所有 div 赋予动画效果"archive-meta-slide"
,我真的很难只为当前的动画制作动画div.archive-meta-slide
using this
如果div.archive-meta-slide
位于 的父级 div 内$metaButton
,但因为它在这个父 div 之外,所以我无法正确遍历。
看我的脚本
var $metaButton = $("span.archive-meta"),
$metaSlide = $(".archive-meta-slide");
$metaButton.toggle(
function() {
$(this).parent().siblings().find(".archive-meta-slide").animate({ height: "0" }, 300);
$(this).parent().siblings().find(".archive-meta-slide").html("close");
},
function() {
$(this).parent().siblings().find(".archive-meta-slide").animate({ height: "43px" }, 300);
$(this).parent().siblings().find(".archive-meta-slide").html("open");
});
有人可以帮忙吗?
谢谢
乔什
$(this).parent().siblings().find(".archive-meta-slide")
This is really关闭。这实际上是说“查找具有该类的元素archive-meta-slide
这是该元素父级的兄弟姐妹的后代”。您想说“查找具有该类的元素archive-meta-slide
that are该元素的父元素的兄弟姐妹”。为此,请在siblings
call:
$(this).parent().siblings(".archive-meta-slide")
请注意,如果标记始终是这种结构,您甚至可以这样做$(this).parent().next()
.
请参阅 jQuery API:
- siblings http://api.jquery.com/siblings
- find http://api.jquery.com/find
- next http://api.jquery.com/next
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)