一个函数而不是兄弟函数

时间:2011-05-02 15:39:54

标签: jquery

我想知道是否有一个可以用来代替兄弟功能的功能。我要求这个,因为兄弟功能要求它们在同一个div中,这有时会弄乱我的布局。我可以用什么功能代替?我会在下面发布一个示例代码。

   <div class='hey'> 
   <div class='yes'><button class='my'> </button> </div> 
   <div class='what'> </div>
   </div>


  <div class='hey'> 
  <div class='yes'><button class='my'> </button> </div> 
  <div class='what'> </div>
  <div>

我想向下滑动div类具体取决于单击按钮的位置。任何帮助表示赞赏谢谢!请发布一个例子并解释功能欢呼!

1 个答案:

答案 0 :(得分:2)

在这种情况下,你可以使用类似的东西:

$('button').click(
    function(){
        $(this).closest('.hey').find('.what').slideToggle();
    });

JS Fiddle demo

<小时/> 已编辑,因为我完全忘了'解释这个功能'。糟糕,

  1. $('button').click(选择html button元素,并将jQuery点击处理程序附加到它们。
  2. $(this).closest('.hey').find('.what').slideToggle()有效地从this元素(button)开始,在祖先中向上移动,直到找到与选择器匹配的最接近的元素匹配选择字符串,类名.hey的元素,然后,在该元素的后代中查找类名.what的元素。找到这个元素后,它slideToggle()的可见性;显示它,如果它被隐藏,隐藏它,如果它是可见的。
  3. 参考文献: