.prev( [selector ] )Возвращает: jQuery
Описание: Получить непосредственно предшествующего элемента-близнеца для каждого элемента в наборе сопоставленных элементов. Если указан селектор, он возвращает предшествующего элемента-близнеца только в том случае, если он соответствует этому селектору.
-
версия добавлена: 1.0.prev( [selector ] )
- selectorТип: СелекторСтрока, содержащая выражение селектора для сопоставления элементов.
-
Учитывая объект jQuery, представляющий набор элементов DOM, метод .prev() ищет предшественника каждого из этих элементов в дереве 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" ).prev().css( "background-color", "red" );
Результат этого вызова — красная заливка за элементом 2. Поскольку выражение селектора не предоставлено, этот предшествующий элемент однозначно включается в состав объекта. Если бы оно было предоставлено, элемент проверялся бы на соответствие селектору перед включением.
Если предшествующего элемента-близнеца нет или предшествующий элемент-близнец не соответствует предоставленному селектору, возвращается пустой объект jQuery.
Чтобы выбрать все предшествующие элементы-близнецы, а не только непосредственно предшествующий соседний элемент-близнец, используйте метод .prevAll().
Примеры:
Найти непосредственно предшествующий элемент-близнец для каждого div.
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>prev demo</title>
<style>
div {
width: 40px;
height: 40px;
margin: 10px;
float: left;
border: 2px blue solid;
padding: 2px;
}
span {
font-size: 14px;
}
p {
clear: left;
margin: 10px;
}
</style>
<script src="https://code.jquery.com/jquery-3.7.0.js"></script>
</head>
<body>
<div></div>
<div></div>
<div><span>has child</span></div>
<div></div>
<div></div>
<div></div>
<div id="start"></div>
<div></div>
<p><button>Go to Prev</button></p>
<script>
var $curr = $( "#start" );
$curr.css( "background", "#f99" );
$( "button" ).on( "click", function() {
$curr = $curr.prev();
$( "div" ).css( "background", "" );
$curr.css( "background", "#f99" );
});
</script>
</body>
</html> Демо:
Для каждого абзаца найти непосредственно предшествующий элемент-близнец с классом "selected".
<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title>prev 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" ).prev( ".selected" ).css( "background", "yellow" ); </script> </body> </html>