Javascript 将活动类添加到并在悬停后将其保留
我有这个密码Javascript 将活动类添加到并在悬停后将其保留,javascript,jquery,Javascript,Jquery,我有这个密码 <script> $("li").hover( function () { $(this).addClass('active'); }, function () { $(this).removeClass('active'); } ); </script> 以便在菜单中将类活动添加到我的li <ul class="list-first-
<script>
$("li").hover(
function () {
$(this).addClass('active');
},
function () {
$(this).removeClass('active');
}
);
</script>
以便在菜单中将类活动添加到我的li
<ul class="list-first-level">
<div about="" typeof="" class="ds-1col entity entity-paragraphs-item paragraphs-item-modulo-de-enlaces-item view-mode-modulo_de_enlaces_01_d clearfix">
<li id="elm" class="active always">
<a href="/grados/eng/">Undergraduate programmes</a>
<ul>
<li>
<a href="/grados/eng/ged">Law</a>
</li>
</ul>
</li>
</div>
</ul>
在Im未悬停在元素上后,我不需要删除活动类。只需使用以下命令:
$("li").hover(function(){
$(this).addClass("active");
});
尽管如此,您最终会遇到许多活动LI,并且无法提供良好的用户体验。当您将鼠标悬停在某个元素上时,请从所有LI元素中删除“活动”类,然后将其添加回当前元素。这仍然意味着,如果用户离开最后一个悬停的元素,该元素将保持“活动”状态
<script type="text/javascript">
$("li").hover(
function () {
$("li").removeClass('active');
$(this).addClass('active');
}
);
</script>
只需删除这一行:$this.removeClass'active';这是mouseout事件,您告诉它删除其中的类。您应该删除UL中的div,因为这是无效的标记。但最后一个悬停的项目始终可见。请不要删除您的项目,然后再次询问相同的问题。如果需要,请编辑您的问题,而不是删除。您的HTML一开始是无效的,您不能将div作为ul的子级。你真正想要的似乎很不清楚。如果不起作用,最后一个悬停的项目总是可见的。@JAVIERMARTINBALSA但这是你问题的答案。