$('.Minimize').click(function() { $('.ContentTD').slideUp('slow', function() { //animation complete }); });
上面的脚本是在web用户控件中编写的。
问题是,如果一个页面有多个控件实例,那么slideDown函数将在该页面的所有实例中执行。
我希望函数只在我单击的控件中执行。
你可以爬到他们都在的容器里,找到相对的元素,就像这样:
$('.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 只在 容器。或者,如果他们是兄弟姐妹,就像上面这个简单的例子, .siblings('.ContentTD') 工作,或一些 其他 tree traversal method ,重点是使用 $(this) (the) .Minimize
.closest()
.find()
.ContentTD
.siblings('.ContentTD')
$(this)
.Minimize