好了,所以我有这样的代码jQuery的显示隐藏功能工作不正常
//<!--
$(document).ready (function() {
$('.topicsShow').hide();
var i = 1;
$('.clickFunc').each(function(){
$(this).click(function(){
$('.topicsShow:eq('+$(this).data('idf')+')').toggle('slow');
});
$(this).data('idf',i);
i++;
});
});
// -->
它并没有在第一次正常工作,因为我VAR = 0;所以我改为1.稍微好一点。为什么是这样?有人可以解释吗? 为什么它不能正常工作的原因是因为当我点击我的.clickFunc时,它会打开一个td元素。我隐藏了一整个tr,并且假设你点击了上面那个(这是类别标题)的tr元素,并且它应该打开该类别的所有主题。这段代码使得它在我点击它时只在tr中打开一个td元素。
有人可以帮我一下吗?
<tr class="clickFunc">
<td></td>
<td></td>
</tr>
<tr class="topicsShow">
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr class="topicsShow">
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr class="clickFunc">
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr class="topicsShow">
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
这是基本的模拟生成的东西。将会有更多的topicShow和更多的clickFunc,如果我添加更多的类别/主题
它是硬编码style =“display:none;”所以如果我把它取下来,并离开.hide它应该工作?就像我说的那样工作在一定程度上...... – EasyBB
我的经验是'jQuery.show()'可以覆盖硬编码的'display:none'。 – Barmar