2011-01-20 177 views
1

如何找到jquery中的下一个XX元素?我想要实现的是,当有人点击其中一个“event_details_arrow”类时,下一个“event_detail”类将显示/隐藏。jquery显示/隐藏元素

这是我的代码,但目前显示/隐藏所有event_detail类,只要我点击任何“event_details_arrow”。

$(".event_details_arrow").bind("click", function() { 
     $(".event_detail").slideToggle(); 
    }); 
       <tr> 
        <td>yyy</td> 
        <td class="event_details_arrow"><span></span></td> 
        <td class="lastcol"><a href=""><span>Register</span></a></td> 
       </tr> 
       <tr class="event_detail"> 
        <td colspan="3">text</td> 
       </tr> 
        <tr> 
        <td>yyy</td> 
        <td class="event_details_arrow"><span></span></td> 
        <td class="lastcol"><a href=""><span>Register</span></a></td> 
       </tr> 
       <tr class="event_detail"> 
        <td colspan="3">text</td> 
       </tr> 
       <tr> 
        <td>yyy</td> 
        <td class="event_details_arrow"><span></span></td> 
        <td class="lastcol"><a href=""><span>Register</span></a></td> 
       </tr> 
       <tr class="event_detail"> 
        <td colspan="3">text</td> 
       </tr> 

感谢

回答

2

如果您肯定有一个家长,你可以使用类似:

$(".event_details_arrow").bind("click", function() { 
    $(this).parent().next().slideToggle(); 
}); 
0
$(".event_details_arrow").bind("click", function() { 
      $(this).next(".event_detail").slideToggle(); 
     }); 
// or 
    $(".event_details_arrow").bind("click", function() { 
      $(this).closest(".event_detail").slideToggle(); 
     }); 

吧?

+0

这些都不似乎工作... – user441365 2011-01-20 09:48:37

+1

正确的,这是行不通的,因为接下来有从父母那里找到。下一个箭头是`.lastCol` – Marnix 2011-01-20 09:49:30

0
 $(".event_details_arrow").bind("click", function() { 
      $(this).closest(".event_details_arrow").slideToggle(); 
     });