如何在 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