Вы можете использовать селекторы атрибутов CSS, чтобы найти элемент HTML на основе его значения data-attribute
с помощью jQuery. Селекторы атрибутов предоставляют очень эффективный способ выбора элементов.
Давайте посмотрим на следующий пример, чтобы понять, как это работает:
<!DOCTYPE html>
<html lang="en">
<head>
<title>jQuery Selecting Element by Data Attribute</title>
<style>
ul li {
float: left;
margin: 10px;
list-style: none;
}
ul li img.selected{
outline: 5px solid black;
}
</style>
<script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
<script>
$(document).ready(function(){
$("select").change(function(){
// Получаем выбранное значение параметра из раскрывающегося списка
var slide = $(this).children("option:selected").val();
// Удаляем существующий выбранный класс с изображения
$(".slides img").removeClass("selected");
// Выбираем изображение на основе значения data-slide
$('.slides img[data-slide=' + slide + ']').addClass("selected");
});
});
</script>
</head>
<body>
<label>Slide:</label>
<select>
<option>select</option>
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
</select>
<hr>
<ul class="slides">
<li>
<img src="images/club.jpg" alt="Club" data-slide="1">
</li>
<li>
<img src="images/diamond.jpg" alt="Diamond" data-slide="2">
</li>
<li>
<img src="images/spade.jpg" alt="Spade" data-slide="3">
</li>
<li>
<img src="images/heart.jpg" alt="Heart" data-slide="4">
</li>
</ul>
</body>
</html>