如何使用jQuery更改NEXT项的背景?

jum4pzuy  于 2023-06-22  发布在  jQuery
关注(0)|答案(2)|浏览(117)

我有下面的方法,但我不能让它工作。我想在鼠标悬停时删除以下li标记的背景。
我的代码:

<div id="mainmenu">
  <ul>
          <li><a href="index.php?id=2"  >Das Hotel</a></li>
          <li><a href="index.php?id=3"  >Angebote</a></li>
          <li><a href="index.php?id=4"  >Reservierung</a></li>
          <li><a href="index.php?id=5"  >Kontakt</a></li>
          <li><a href="index.php?id=6"  >Anfahrt</a></li>
          <li><a href="index.php?id=7"  >Rechtliches</a></li>
          <li><a href="index.php?id=8"  >Impressum</a></li>
  </ul>
</div>

jQuery:

$("#mainmenu ul li a").hover(function() {
$(this).parent().next().find("li").css('background', 'none');
}

这里的小提琴:
http://jsfiddle.net/bQxJu/2/

beq87vna

beq87vna1#

http://jsfiddle.net/bQxJu/6/
JS有一个错误,所以我必须修复它。我还添加了一个“鼠标移出”事件处理程序来恢复背景。另外,您将LI的BG设置为“none”,但您的CSS在锚上设置了背景,而不是li。
下面是JS:

$("#mainmenu ul li a").hover(function () {
   $(this).closest('li').next().find("a").css('background', 'none');
}, function () {
   $(this).closest('li').next().find("a").css('background', '');
});
r55awzrz

r55awzrz2#

$("#mainmenu ul li a").hover(function () {
  $(this).parent().next('li').find('a').css('background', 'none');
}, function () {
  $(this).parent().next('li').find('a').css('background', '');
});

相关问题