当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


JQuery .has()用法及代码示例


用法
.has( selector ) => jQuery

说明:将匹配元素集减少为具有与选择器或 DOM 元素匹配的后代的元素。

  • 添加的版本:1.4.has( selector )

    • selector
      类型:String
      一个字符串,包含一个选择器表达式来匹配元素。
  • 添加的版本:1.4.has( contained )

    • contained
      类型:Element
      用于匹配元素的 DOM 元素。

给定一个表示一组 DOM 元素的 jQuery 对象,.has() 方法从匹配元素的子集构造一个新的 jQuery 对象。提供的选择器针对匹配元素的后代进行测试;如果其任何后代元素与选择器匹配,则该元素将包含在结果中。

考虑一个具有嵌套列表的页面,如下所示:

 <ul>
  <li>list item 1</li>
  <li>list item 2
    <ul>
      <li>list item 2-a</li>
      <li>list item 2-b</li>
    </ul>
  </li>
  <li>list item 3</li>
  <li>list item 4</li>
</ul>

我们可以将此方法应用于列表项集,如下所示:

$( "li" ).has( "ul" ).css( "background-color", "red" );

此调用的结果是项目 2 的红色背景,因为它是其后代中唯一具有 <ul><li>

例子:

检查一个元素是否在另一个元素内。

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>has demo</title>
  <style>
  .full {
    border: 1px solid red;
  }
  </style>
  <script src="https://code.jquery.com/jquery-3.5.0.js"></script>
</head>
<body>
 
<ul><li>Does the UL contain an LI?</li></ul>
 
<script>
$( "ul" ).append( "<li>" +
  ( $( "ul" ).has( "li" ).length ? "Yes" : "No" ) +
  "</li>" );
$( "ul" ).has( "li" ).addClass( "full" );
</script>
 
</body>
</html>

演示:

相关用法


注:本文由纯净天空筛选整理自jquery.com大神的英文原创作品 .has()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。