如何在 JavaScript 中获取 $(this) 选择器的孩子
我们可以使用 find() 方法通过 jQuery 获取 $(this) 选择器的子级。
在下面的示例中,jQuery 代码选择子元素 <img>,在单击父元素 <div> 时对其应用 CSS 样式。
<!DOCTYPE html>
<html>
<head>
<title>文档的标题</title>
<script src="https://code.jquery.com/jquery-3.5.0.min.js"></script>
<style>
.box {
padding: 70px;
border: 8px solid #ccc;
text-align: center;
}
.box img {
width: 300px;
border: 5px solid #999;
}
</style>
</head>
<body>
<div class="box">
<img src="/bg.png" alt="onitroad">
</div>
<script>
$(document).ready(function() {
$(".box").click(function() {
$(this).find("img").css("border-color", "blue");
});
});
</script>
</body>
</html>
如果我们只想获取目标元素的后代,则可以使用 children() 方法。
此方法仅向下遍历 DOM 树的单个级别。
相比之下, find() 方法能够向下遍历多个级别以选择后代元素,例如孙子等。
因此, children() 方法获取一组元素,涉及适当元素集的整体唯一直接子元素。
其语法如下:
selector.children([selector])
下面的示例演示了 children() 方法的用法:
<!DOCTYPE html>
<html>
<head>
<title>文档的标题</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.0/jquery.min.js"></script>
<style>
.green {
color: green;
}
</style>
</head>
<body>
<div>
<span>Welcome</span>
<p class="selected">Welcome to onitroad</p>
<div class="selected">经历过风雨,才懂得阳光的温暖。</div>
<p class="biggest">生活终归还得继续。</p>
</div>
<script>
$(document).ready(function() {
$("div").children(".selected").addClass("green");
});
</script>
</body>
</html>
选择器上下文的描述
在 JavaScript 中,选择器默认在 DOM 内部执行搜索,从文档根开始。
可以为将可选的第二个参数应用于函数 $() 的搜索提供替代上下文。
每当对 span 选择器的搜索仅限于 this 的上下文时,只有被单击元素内的 span 才能获得添加类。
日期:2020-06-02 22:16:19 来源:oir作者:oir
