0

我有以下内容:

<ul class="head clearfix">\
    <li class=""><strong><a href="/firmy" class="menuTabs">Katalog firm <span>(3516)</span></a></strong></li>
    <li class=""><a href="/produkty" class="menuTabs">Katalog produktów <span>(23752)</span></a></li>
    <li class=""><a href="/uslugi" class="menuTabs">Katalog uslug <span>(81)</span></a></li>
    <li class="last"><a href="/szkolenia" class="menuTabs">Katalog szkolen <span>(529)</span></a></li>
</ul>

我只需要对没有<strong>标签作为父级的链接执行鼠标悬停效果。因此,在上面的示例中,我将跳过“目录公司”链接,因为该链接有一个标签作为父级。

谢谢

4

7 回答 7

2

你的 CSS 选择器是

ul.header > li > a.menuTabs:hover

定义悬停效果

如果你需要一些 jquery 功能,你可以使用

$('ul.header > li > a.menuTabs')

获取这些元素

于 2012-08-01T09:50:01.100 回答
1

这只能通过使用直接子选择器在 CSS 中定义>

ul.head > li > a.menuTabs:hover 
{
   /* hover style */
}

您可以在 jquery 中使用相同的选择器

$('ul.head > li > a.menuTabs')
于 2012-08-01T09:49:26.457 回答
1

只需从选择器中过滤掉具有strong标签的父元素并附加鼠标事件:

​$('ul.head li a')​.filter(function() {
    return !$(this).parent().is('strong');
}).on('mouseenter', function() {
    $(this).css('color','green');
});​

小提琴

于 2012-08-01T09:54:46.993 回答
0
$('.head').on('click', 'li > a', function(evt) {
    //do something
});
于 2012-08-01T09:50:15.420 回答
0

我建议,作为使用更具体的选择器(在大多数情况下可能是更好的选择)检查鼠标悬停事件中的父元素的替代方法:

$('a').on('mouseover', function(e){
    var that = this;
    if ($(that).parent().is('strong')) {
        return false;
    }
    else {
        // do stuff.
    }
});
于 2012-08-01T09:50:33.827 回答
0
$('.head > li > .menuTabs').mouseover(fucnction () {
  // code here
});
于 2012-08-01T09:50:48.647 回答
0

请像这样使用。

ul li>a:hover
{
background-color:black;
}​
于 2012-08-01T09:56:58.717 回答