2010-08-03 66 views
0

我有当点击这样jQuery slideDown选择某个元素?

$('.Minimize').click(function() { 
      $('.ContentTD').slideUp('slow', function() { 
       //animation complete 
      }); 
     }); 

上述脚本web用户控件内写入某一元件上执行了slideDown anitmation一个jQuery功能。

问题是,如果一个页面有很多控件实例,slideDown函数会在页面中的所有实例中执行。

我希望该功能只能在点击的控件中执行。

该怎么办? 感谢

回答

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只有在集装箱。或者,如果他们是兄弟姐妹,就像上面的简单示例一样,.siblings('.ContentTD')作品,或者某些其他tree traversal method,关键是要使用$(this)(您点击的.Minimize)并找到相关元素。

+0

感谢尼克这正是我想要的 – 2010-08-03 15:11:01