1

如何简化这个 jquery 选择器? $(this).parent().parent().next().children().children().slideDown('normal');

它有效,但我想学习如何改进它。谢谢!:)

更新:这是代码示例。

<tr>
    <td><div class="LinkHeader accordionButton">TRAINING VIDEOS<span class="right"></span></div></td>
  </tr>
  <tr>
    <!-- Content of Training Videos -->
    <td align="left" valign="top">
    <div class="accordionContent"> (I want to select this div)
        <div id="yunero"></div>
    </div>
    </td>
  </tr>
4

1 回答 1

0

根据您的标记,这样写会更短(并且可以说更清晰):

$(this).closest("tr").next().find(".accordionContent").slideDown();

在这里,closest()将遍历祖先链并匹配<tr>它找到的第一个元素,然后next()将匹配其直接下一个兄弟元素,最后find()类选择器将返回<div>您感兴趣的元素。

顺便提一下,严格来说,动画没有"normal"持续时间。唯一受支持的字符串是"fast"(200 ms) 和"slow"(600 ms),任何其他字符串都将被解释为 400 ms,就好像您完全省略了该参数一样。例如,将表现与or plainslideDown("superFast")完全相同。slideDown("normal")slideDown()

于 2013-03-01T18:56:31.713 回答