定位悬停列表项的“a”兄弟

时间:2012-05-18 16:04:23

标签: jquery html

我的网站上有嵌套导航。它看起来像这样:

<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>

我想在{s = 1}}链接时只定位a链接,在这种情况下是ul,孩子们会徘徊。我正在尝试用jQuery实现这一点,但找不到合适的解决方案。

提前致谢

1 个答案:

答案 0 :(得分: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");
    }
);

这可能可以通过更复杂和更脆弱的选择器来完成而不添加识别类,但它肯定不像这样做那样清晰或可维护。