将类悬停在其他元素上而不是选定的元素上-javascript HTML JAVASCRIPT

将类悬停在其他元素上而不是选定的元素上-javascript HTML JAVASCRIPT,javascript,html,css,addclass,onhover,Javascript,Html,Css,Addclass,Onhover,我希望javascript在悬停时不要将“onHover”类添加到主链接,只添加其他三个链接。您可以使用选择器不允许拾取项目 $(function() { $("ul.navBar li a").hover( function(){ $(this).addClass("onHover"); }, function(){ $(this).remov

我希望javascript在悬停时不要将“onHover”类添加到主链接,只添加其他三个链接。

您可以使用选择器不允许拾取项目

$(function() {
        $("ul.navBar li a").hover(
            function(){
                $(this).addClass("onHover");
            },
            function(){
                $(this).removeClass("onHover");
        });
    });
但是,如果您真的需要,您可以使用纯CSS解决方案来实现这一点。不需要JavaScript

使用jQuery
:not()
选择器不包括“selected”类。最好使用事件委派
.on()
而不是直接将事件绑定到元素,即
.hover()

有关使用
:not()
的更多信息,请参阅


请参阅fiddle:

您只是想更改样式(背景色),还是想用它做更多的事情?如果您只是想更改样式,那么不用麻烦使用Javascript,
:hover
伪类是完全限定的
.selected{
    background-color: #CCCCCC;
}

.onHover{
    display: block;
    background-color: #0088FF;
}
$(function() {
        $("ul.navBar li a").hover(
            function(){
                $(this).addClass("onHover");
            },
            function(){
                $(this).removeClass("onHover");
        });
    });
$(function() {
    $("ul.navBar li:not(.selected) a").hover(
        function(){
            $(this).addClass("onHover");
        },
        function(){
            $(this).removeClass("onHover");
    });
});
$(function () {
    $(document).on('mouseenter', 'ul.navBar li:not(.selected) a', function () {
        $(this).addClass('onHover');
    });
    $(document).on('mouseleave', 'ul.navBar li:not(.selected) a', function () {
        $(this).removeClass('onHover');
    });
});