-1

サイトにネストされたナビゲーションがあります。次のようになります。

<ul>
  <li><a>Main Link 1</a>
    <ul>
      <li>Sublist Item of Main Link 1</li>
    </ul>
  </li>

  <li><a>Main Link 2</a>
    <ul>
      <li>Sublist Item of Main Link 2</li>
    </ul>
  </li>


</ul>

兄弟のリンクのみをターゲットにしたいと思います。aこの場合ul、子はホバーされます。jQueryでこれを達成しようとしていますが、正しい解決策が見つかりません。

前もって感謝します

4

1 に答える 1

1

HTML にいくつかの識別クラスを追加すると、次のようになります。

<ul>
  <li><a class="mainLink">Main Link 1</a>
    <ul class="linkHoverTarget">
      <li>Sublist Item of Main Link 1</li>
    </ul>
  </li>

  <li><a class="mainLink">Main Link 2</a>
    <ul class="linkHoverTarget">
      <li>Sublist Item of Main Link 2</li>
    </ul>
  </li>
</ul>

ホバー イベントに登録してから、次のようにそれらのホバー イベントで対応するリンクにアクセスできます。

$(".linkHoverTarget li").hover(
    function() {
        // get the link in a sibling of our parent ul
        $(this).parent().parent().find(".mainLink");
    }
);

これはおそらく、識別クラスを追加せずに、より複雑で壊れやすいセレクターを使用して実行できますが、この方法で実行するほど明確ではなく、保守も容易ではありません。

于 2012-05-18T16:12:20.563 に答える