我使用以下代码查找特定表,隐藏它然后单击显示它:
$(function() {
$('.Nav table .navitem').hide();
$('.Nav table.navheader').click(function() {
$(this).parent().parent().next().find(".navitem").slideToggle('100');
});
});
以下是HTML输出:
<div class="Nav">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td>
<table class="navheader" cellpadding="0" cellspacing="0" border="0" width="100%">
<tr>
<td style="width:100%;"><a navheader" href="#">Header</a></td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="navSubMenu">
<tr>
<td>
<table class="ms-navitem" cellpadding="0" cellspacing="0" border="0" width="100%">
<tr>
<td style="width:100%;"><a class=" ms-navitem" href="#" style="border-style:none;font-size:1em;">Item</a></td>
</tr>
</table>
</td>
</tr>
</table>
一个基本的手风琴导航从一张桌子一起被黑了,但是.havheader的一些没有.navitem,所以我不希望这些是可点击的。
我最好能达到这个目标吗?
答案 0 :(得分:2)
更改此选择器:
$('.Nav table.navheader')
到此:
$('.Nav table.navheader:has(.navitem)')
答案 1 :(得分:0)
如果你只想要手风琴,也许最好使用jQuery UI ......