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ミリ秒)と"slow"(600ミリ秒)のみであり、他の文字列は、引数を完全に省略したかのように400ミリ秒として解釈されます。たとえば、は、またはプレーンslideDown("superFast")とまったく同じように動作します。slideDown("normal")slideDown()

于 2013-03-01T18:56:31.713 に答える