2011-06-10 152 views
0

我已经使用JQuery函数show_hide来隐藏一个框,然后在单击链接时显示它。这一切工作正常。如果我想隐藏第二个盒子,我只需重新编写函数并重命名类和函数(最简单的方法),但是我说我有一个表,并且表循环的内容因此该类永远是一样。那么我将如何单独显示每个show_hide条目,即如果我点击了show_hide链接,它将只显示该条目的内容,而不是该页面上的所有条目。jquery显示/隐藏功能

这是隐藏slidingDiv的基本代码。如果你想复制它并点击链接,你会发现它们都会打开。我需要一种方法,只需在班级相同时打开我想要的那个。任何帮助,将不胜感激。

$(document).ready(function(){ 
    $("slidingDiv").hide(); 
    $(".show_hide").show(); 
    $('.show_hide').click(function(){ 
    $("slidingDiv").slideToggle(); 
}); 
}): 

.slidingDiv{ 
height:300px; 
background-color: #99CCFF; 
padding:20px; 
margin-top:10px; 
border-bottom:5px solid #3399FF; 
} 

.show_hide { 
    display:none; 
} 

<a href="#" class="show_hide">Show/hide</a> 

<div class="SlidingDiv"> 
    <p>blah blah blah</p> 
</div> 

回答

2

您可以使用next()这样的:

$('.show_hide').click(function(e){ 
     e.preventDefault(); 
     $(this).next(".SlidingDiv").slideToggle(); 
}); 

例如:http://jsfiddle.net/niklasvh/sx5TM/

+0

@ Niklas-由于写一个通用的函数为你的帮助....工作 – Hatzi 2011-06-10 16:07:41

0

简单,你必须使用$(本)

$(this).hide(); 
    $(this).show();