2010-10-19 79 views
1

我需要一个选择器,基本上从我点击过的元素开始,并在页面上找到具有特定类的下一个项目。看到我的例子如下:jquery选择器需要从元素中选择下一个表格

<table> 
<tr> 
<td>Blah blah blah</td> 
<td><p class="click">Fire jquery</p></td> 
</tr> 
</table> 

<table class="hidden"> 
<tr> 
<td>blah blah blah</td> 
<td>blah blah blah</td> 
</tr> 
</table> 

$(document).ready(function() { 

$('.hidden').hide() 

$('.click').click(function() { 
$(this).next('.hidden').fadeIn() 
}) 

}) 

所以基本上我想隐藏所有与页面加载时隐藏的类。然后当点击某种类型的点击时,它应该扫描下一个元素的页面,并隐藏一个类并将其淡入。我只会做'('.hidden')。fadeIn()但是有多个隐藏的项目,以便它消失他们都在,我只希望在未来一到褪去。

希望你能理解这一切,我会是任何人都可以帮助

感谢

回答

5

非常感谢next('.hidden')失败,因为它搜索直接的兄弟姐妹 - 也就是与click元素相同的<td>
尝试寻找<table>,寻找它的兄弟:

$(this).closest('table').next('.hidden').fadeIn(); 

$(this).closest('table').next('.hidden:hidden').fadeIn(); 

如果你想创建一个click及其hidden之间的语义联系,同时考虑在div包装他们,例如:

<div class="Group"> 
    <p class="click">Fire jquery</p> 
    <table class="hidden" /> 
</div> 

$(this).closest('.Group').find('.hidden').fadeIn();