我有一个jQuery函数,当像这样单击时对某个元素执行slideDown anitmation
$('.Minimize').click(function() {
$('.ContentTD').slideUp('slow', function() {
//animation complete
});
});
上述脚本是在Web用户控件中编写的。
问题是如果一个页面有很多控件实例,那么slideDown函数会在页面的所有实例中执行。
我希望只在我点击的控件中执行该功能。
怎么做? 感谢
答案 0 :(得分:1)
你可以爬到他们所在的容器并找到相对的元素,如下所示:
$('.Minimize').click(function() {
$(this).closest('.container').find('.ContentTD').slideUp('slow');
});
这假设标记是这样的:
<div class="container">
<button class="Minimize">Minimize</button>
<div class="ContentTD">Content</div>
</div>
只要两者都在某个容器中,您可以识别类或其他属性,就可以使用.closest()
和.find()
仅在中获取.ContentTD
< / em>容器。或者,如果他们是兄弟姐妹,如上面的简单示例,.siblings('.ContentTD')
有效,或某些其他 tree traversal method,则重点是使用$(this)
({{ 1}}你点击了)并找到相对于那个的元素。