📅  最后修改于: 2023-12-03 15:37:41.648000             🧑  作者: Mango
在程序开发中,我们经常需要控制 HTML 元素的样式。其中一项常见任务是在悬停或焦点状态下向元素添加或删除类。这个任务可以通过 jQuery 轻松完成。本文将向您展示如何在子元素上悬停时添加类。
首先,我们需要有HTML元素。在以下示例中,我们将创建一个具有一些子元素的 div 元素,这些子元素将在鼠标悬停时添加类。
<div class="parent">
<div class="child">Child 1</div>
<div class="child">Child 2</div>
<div class="child">Child 3</div>
</div>
接下来,我们需要为这些元素定义 CSS 样式,以便在添加类时能够成功显示。以下是我们在此示例中使用的 CSS 样式:
.parent {
display: flex;
}
.child {
padding: 10px;
margin: 5px;
background-color: lightgray;
}
.child.active {
background-color: lightblue;
}
上面 CSS 实现了以下目的:
现在,我们已经准备好添加 JavaScript 代码以在子元素上悬停时添加类。将以下代码添加到您的 .js 文件中:
$(document).ready(function() {
$('.parent').on('mouseenter', '.child', function() {
$(this).addClass('active');
}).on('mouseleave', '.child', function() {
$(this).removeClass('active');
});
});
这段代码使用 jQuery 中的 on() 方法来绑定 mouseenter 和 mouseleave 事件处理程序。当鼠标移动到子元素上时,添加类。当鼠标离开时,删除类。
完整的 HTML、CSS、JavaScript 代码如下所示:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Hover on Child jQuery - JavaScript</title>
<style>
.parent {
display: flex;
}
.child {
padding: 10px;
margin: 5px;
background-color: lightgray;
}
.child.active {
background-color: lightblue;
}
</style>
</head>
<body>
<div class="parent">
<div class="child">Child 1</div>
<div class="child">Child 2</div>
<div class="child">Child 3</div>
</div>
<script src="https://code.jquery.com/jquery-3.4.1.min.js"></script>
<script>
$(document).ready(function() {
$('.parent').on('mouseenter', '.child', function() {
$(this).addClass('active');
}).on('mouseleave', '.child', function() {
$(this).removeClass('active');
});
});
</script>
</body>
</html>
以上就是在子 jQuery 上悬停添加类的示例介绍,现在您可以使用此方法控制自己的 HTML 样式。