悬停时的Javascript-addClass()不起作用 html javascript

悬停时的Javascript-addClass()不起作用 html javascript,javascript,html,css,jquery,Javascript,Html,Css,Jquery,我正试图将“onHover”类添加到元素上,特别是一个链接,但它似乎不起作用..那么您认为问题可能出在哪里?更好的解决方案可能是使用类似的方法: 但是,您的原始代码似乎确实有效(假设您已将a元素的默认CSS设置为没有下划线): 还值得注意的是,在代码中,如果将script标记放在包含a元素的HTML之前,它将不起作用()。这是因为当脚本运行时,元素不存在。考虑让您的代码运行在. 我认为这是因为默认情况下,a标记已经有了文本装饰。只需添加额外的css即可将其默认设置为“无”: ul.navBarE

我正试图将“onHover”类添加到元素上,特别是一个链接,但它似乎不起作用..那么您认为问题可能出在哪里?

更好的解决方案可能是使用类似的方法:

但是,您的原始代码似乎确实有效(假设您已将
a
元素的默认CSS设置为没有下划线):


还值得注意的是,在代码中,如果将script标记放在包含
a
元素的HTML之前,它将不起作用()。这是因为当脚本运行时,元素不存在。考虑让您的代码运行在. 我认为这是因为默认情况下,
a
标记已经有了
文本装饰
。只需添加额外的css即可将其默认设置为“无”:

ul.navBarExtended li a:hover {
   text-decoration: underline;
}
但您实际上应该使用CSS类来管理悬停(如果可能的话),方法是添加:

ul.navBarExtended li a {
    text-decoration: none;
}

实际上,我想添加更复杂的样式,所以我需要一点javascript,只是我在问题中包含了最基本的样式..您仍然可以使用
:hover
执行大量样式设置。如果可能的话,我会推荐这个。不过,还是为您的原始答案添加了一些额外的细节。以防万一!也许你可以在JS小提琴中加入更多?您的代码中是否确实引用了JQuery?同样值得注意的是,在您的代码中,如果将脚本标记放在包含
a
元素的html之前,它将无法工作。(请参见此处)这是因为当脚本运行时,元素不存在。考虑让您的代码运行在jQuery文档准备事件上:示例:请提供更多代码。由于给定的代码确实有效。请确保已包含jQuery。是否可以在示例不起作用的情况下生成JSFIDLE?
$("ul.navBarExtended li a").hover(
    function(){
        $(this).addClass("onHover");
    },
    function(){
        $(this).removeClass("onHover");
 });    
ul.navBarExtended li a:hover {
   text-decoration: underline;
}
ul.navBarExtended li a {
    text-decoration: none;
}
ul.navBarExtended li a:hover {
    text-decoration: underline;
}