Spec-Zone.ru › jQuery

.siblings()

.siblings( [selector ] )Возвращает: jQuery

Описание: Получить элементы-близнецы каждого элемента в наборе сопоставленных элементов, необязательно отфильтровав их с помощью селектора.

  • версия добавлена: 1.0.siblings( [selector ] )

    • selector
      Тип: Селектор
      Строка, содержащая выражение селектора для сопоставления элементов.

Используя объект jQuery, представляющий набор элементов DOM, этот метод позволяет нам искать элементы-близнецы этих элементов в дереве 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).

Примеры:

Найти уникальные элементы-близнецы всех жёлтых элементов li в 3 списках (включая другие жёлтые элементы 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.7.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>

Демо:

Найти все элементы-близнецы с классом "selected" каждого div.

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>siblings demo</title>
  <script src="https://code.jquery.com/jquery-3.7.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>

Демо:

© The jQuery Foundation and other contributors
Licensed under the MIT License.
https://api.jquery.com/siblings

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API