當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


JQuery .siblings()用法及代碼示例


用法
.siblings(  [selector ] ) => jQuery

說明:獲取匹配元素集中每個元素的兄弟姐妹,可選地由選擇器過濾。

  • 添加的版本:1.0.siblings( [selector ] )

    • selector
      類型:Selector
      一個字符串,包含一個選擇器表達式來匹配元素。

給定一個表示一組 DOM 元素的 jQuery 對象,.siblings() 方法允許我們在 DOM 樹中搜索這些元素的兄弟,並從匹配的元素構造一個新的 jQuery 對象。

該方法可選擇接受與我們可以傳遞給$() 函數的類型相同的選擇器表達式。如果提供了選擇器,則將通過測試它們是否匹配來過濾元素。

考慮一個帶有簡單列表的頁麵:

<ul>
  <li>list item 1</li>
  <li>list item 2</li>
  <li class="third-item">list item 3</li>
  <li>list item 4</li>
  <li>list item 5</li>
</ul>

如果我們從第三項開始,我們可以找到它的兄弟:

$( "li.third-item" ).siblings().css( "background-color", "red" );

此調用的結果是項目 1、2、4 和 5 後麵的紅色背景。由於我們不提供選擇器表達式,所有兄弟姐妹都是對象的一部分。如果我們提供了一項,則隻會包括這四項中匹配的項。

原始元素不包含在兄弟元素中,當我們希望在 DOM 樹的特定級別查找所有元素時,記住這一點很重要。但是,如果原始集合包含多個元素,則它們可能是相互的兄弟,並且都會被找到。如果您需要兄弟姐妹的獨占列表,請使用 $collection.siblings().not($collection)

例子:

在 3 個列表中找到所有黃色 li 元素的唯一兄弟(如果合適,包括其他黃色 li 元素)。

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>siblings demo</title>
  <style>
  ul {
    float: left;
    margin: 5px;
    font-size: 16px;
    font-weight: bold;
  }
  p {
    color: blue;
    margin: 10px 20px;
    font-size: 16px;
    padding: 5px;
    font-weight: bolder;
  }
  .hilite {
    background: yellow;
  }
  </style>
  <script src="https://code.jquery.com/jquery-3.5.0.js"></script>
</head>
<body>
 
<ul>
  <li>One</li>
  <li>Two</li>
  <li class="hilite">Three</li>
  <li>Four</li>
</ul>
 
<ul>
  <li>Five</li>
  <li>Six</li>
  <li>Seven</li>
</ul>
 
<ul>
  <li>Eight</li>
  <li class="hilite">Nine</li>
  <li>Ten</li>
  <li class="hilite">Eleven</li>
</ul>
 
<p>Unique siblings: <b></b></p>
 
<script>
var len = $( ".hilite" ).siblings()
  .css( "color", "red" )
  .length;
$( "b" ).text( len );
</script>
 
</body>
</html>

演示:

查找每個 div 的類 "selected" 的所有兄弟姐妹。

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>siblings demo</title>
  <script src="https://code.jquery.com/jquery-3.5.0.js"></script>
</head>
<body>
 
<div><span>Hello</span></div>
<p class="selected">Hello Again</p>
<p>And Again</p>
 
<script>
$( "p" ).siblings( ".selected" ).css( "background", "yellow" );
</script>
 
</body>
</html>

演示:

相關用法


注:本文由純淨天空篩選整理自jquery.com大神的英文原創作品 .siblings()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。