0

我对 jquery 孩子有一点问题。

我有这个代码:

<li><a href="#" class="gocinema">cinema</a></li>
<li><a href="#" class="gomusic">music</a></li>
<li><a href="#" class="gogame">game</a></li>

我尝试设置一个功能来更改悬停时链接的颜色。(我不能简单地用 css 做到这一点,因为它是用于菜单上的复杂网页设计。)

我尝试做的是制作一个功能,他说:

我是 mouseenter 的链接类别是什么?

如果课程是那样,那就这样做。如果课程是那样,那就这样做。

我已经阅读了很多关于 jquery children 的文章,但我不知道如何在函数中这么说。

抱歉,如果不是很清楚:/谢谢

托马斯

4

3 回答 3

2
$(document).on('mouseenter mouseleave', 'a', function () {

    if ( this.className === 'gocinema' ) {
        // do this
    }

    if ( this.className === 'gomusic' ) {
        // do that
    }

});

更新

如果您的链接上有多个课程,您可以尝试$.fn.hasClass

$(document).on('mouseenter mouseleave', 'a', function () {
    var $this = $(this);

    if ( $this.hasClass('gocinema') ) {
        // do this
    }

    if ( $this.hasClass('gomusic') ) {
        // do that
    }

});
于 2013-10-14T13:37:36.767 回答
0

尝试这个:

$('a').mouseenter(function(){
   alert($(this).attr('class'));
   var classes = $(this).attr('class');
   if(classes == 'whatyouwant'){
      //do something
   }
});

演示

于 2013-10-14T13:35:35.470 回答
0

如果它的菜单,这应该是使用 jquery 的正确方法。

HTML

<ul class="mymenu">
  <li><a href="#" class="gocinema">cinema</a></li>
  <li><a href="#" class="gomusic">music</a></li>
  <li><a href="#" class="gogame">game</a></li>
</ul>

Javascript

$('.mymenu a').hover(function(){
    $(this).addClass('hover-style');
}, function () {
      $(this).removeClass('hover-style');
});

CSS

.hover-style{
    background:red;
    color:white
}

在此处查看现场演示。http://jsfiddle.net/ruchit47/HGbrQ/


此外,如果您想为每个菜单项赋予不同的样式。您可以通过这种方式创建样式。

.hover-style.gocinema{ background:red; } 
.hover-style.gomusic{ background:blue; } 
.hover-style.gogame{ background:green; }
于 2013-10-14T13:47:37.427 回答