可能是Jquery?

时间:2009-08-24 11:17:04

标签: jquery

我使用以下代码查找特定表,隐藏它然后单击显示它:

$(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,所以我不希望这些是可点击的。

我最好能达到这个目标吗?

2 个答案:

答案 0 :(得分:2)

更改此选择器:

$('.Nav table.navheader')

到此:

$('.Nav table.navheader:has(.navitem)')

答案 1 :(得分:0)

如果你只想要手风琴,也许最好使用jQuery UI ......