- jQuery 教程
- jQuery - 首页
- jQuery - 路线图
- jQuery - 概述
- jQuery - 基础
- jQuery - 语法
- jQuery - 选择器
- jQuery - 事件
- jQuery - 属性
- jQuery - AJAX
- jQuery DOM 操作
- jQuery - DOM
- jQuery - 添加元素
- jQuery - 删除元素
- jQuery - 替换元素
- jQuery CSS 操作
- jQuery - CSS 类
- jQuery - 尺寸
- jQuery - CSS 属性
- jQuery 效果
- jQuery - 效果
- jQuery - 动画
- jQuery - 链式操作
- jQuery - 回调函数
- jQuery 遍历
- jQuery - 遍历
- jQuery - 遍历祖先节点
- jQuery - 遍历子孙节点
- jQuery UI
- jQuery - 交互
- jQuery - 小部件
- jQuery - 主题
- jQuery 参考
- jQuery - 选择器
- jQuery - 事件
- jQuery - 效果
- jQuery - HTML/CSS
- jQuery - 遍历
- jQuery - 杂项
- jQuery - 属性
- jQuery - 工具函数
- jQuery 插件
- jQuery - 插件
- jQuery - PagePiling.js
- jQuery - Flickerplate.js
- jQuery - Multiscroll.js
- jQuery - Slidebar.js
- jQuery - Rowgrid.js
- jQuery - Alertify.js
- jQuery - Progressbar.js
- jQuery - Slideshow.js
- jQuery - Drawsvg.js
- jQuery - Tagsort.js
- jQuery - LogosDistort.js
- jQuery - Filer.js
- jQuery - Whatsnearby.js
- jQuery - Checkout.js
- jQuery - Blockrain.js
- jQuery - Producttour.js
- jQuery - Megadropdown.js
- jQuery - Weather.js
- jQuery 有用资源
- jQuery - 问答
- jQuery - 快速指南
- jQuery - 有用资源
- jQuery - 讨论
jQuery :has() 选择器
:has() 选择器用于选择包含至少一个与指定选择器匹配的元素的元素。它允许您根据元素是否包含与特定选择器匹配的其他元素来选择元素。
语法
以下是 jQuery 中 :has() 选择器的语法:
$(":has(selector)")
参数
此选择器查找包含至少一个与指定选择器匹配的元素的元素。
示例 1
在以下示例中,我们使用 :has() 选择器来选择包含“段落”的 <div> 元素:
<html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script> <script> $(document).ready(function(){ $("div:has(p)").css("border", "2px solid red"); }); </script> <style> div { margin: 10px; padding: 10px; background-color: #f0f0f0; } p { margin: 0; } </style> </head> <body> <div> <p>This div contains a paragraph.</p> </div> <div> <span>Span element here.</span> </div> <div> <p>Another paragraph.</p> <span>And a span element.</span> </div> </body> </html>
执行上述程序后,包含段落的 <div> 将以实线红色边框突出显示。
示例 2
在此示例中,我们选择所有包含具有类“external”的锚 (<a>) 元素的 <li> 元素:
<html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script> <script> $(document).ready(function(){ $("li:has(a.external)").css("background-color", "yellow"); }); </script> <style> ul { list-style-type: none; padding: 0; } </style> </head> <body> <ul> <li><a href="#">Regular link</a></li> <li><a href="#" class="external">External link</a></li> <li><a href="#">Regular link</a></li> <li><a href="#" class="external">Another external link</a></li> </ul> </body> </html>
执行后,包含具有类“external”的锚元素的列表项将以黄色背景颜色突出显示。
示例 3
在这里,我们演示了如何使用 jQuery :has 选择器来选择包含多个元素的元素:
<html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script> <script> $(document).ready(function(){ $("div:has(p, span)").css("border", "2px solid red"); }); </script> <style> div { margin: 10px; padding: 10px; background-color: #f0f0f0; } p { margin: 0; } </style> </head> <body> <div> <p>This div contains a paragraph element. <span>This div contains a span element.</span> </p> </div> <div>This div does not contain any p or span elements.</div> </body> </html>
执行后,包含 <p> 和 <span> 元素的 <div> 将以实线红色边框突出显示。
jquery_ref_selectors.htm
广告