Первый параметр each
не является объектом.Это индекс.Вы можете использовать this
(или добавить второй параметр) вместо element
variable.
$("#site-search").keyup(function() {
let searchInput = $("#site-search").val().toLowerCase();
$('.images-container > a').each(function(index, element) {
let caption = $(element).attr('data-title').toLowerCase();
if (caption.includes(searchInput)) {
$(element).show();
} else {
$(element).hide(); //Hide elements that dont include the search word.
}
});
});
$("#site-search").keyup(function() {
let searchInput = $("#site-search").val().toLowerCase();
$('.images-container > a').each(function(index, element) {
let caption = $(element).attr('data-title').toLowerCase();
if (caption.includes(searchInput)) {
$(element).show();
} else {
$(element).hide(); //Hide elements that dont include the search word.
}
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="search" id="site-search" placeholder="Search(16pt)">
<div class="images-container">
<a href="photos/01.jpg" data-alt="Hay Bales" data-lightbox="image-1" data-title="I love hay bales. Took this snap on a drive through the countryside past some straw fields."><img src="photos/thumbnails/01.jpg" alt="Image 1"></a>
<a href="photos/02.jpg" data-alt="Lake" data-lightbox="image-1" data-title="The lake was so calm today. We had a great view of the snow on the mountains from here."><img src="photos/thumbnails/02.jpg" alt="Image 2"></a>
<a href="photos/03.jpg" data-alt="Canyon" data-lightbox="image-1" data-title="I hiked to the top of the mountain and got this picture of the canyon and trees below."><img src="photos/thumbnails/03.jpg" alt="Image 3"></a>
<a href="photos/04.jpg" data-alt="Iceberg" data-lightbox="image-1" data-title="It was amazing to see an iceberg up close, it was so cold but didn’t snow today. "><img src="photos/thumbnails/04.jpg" alt="Image 4"></a>
<a href="photos/05.jpg" data-alt="Desert" data-lightbox="image-1" data-title="The red cliffs were beautiful. It was really hot in the desert but we did a lot of walking through the canyons."><img src="photos/thumbnails/05.jpg" alt="Image 5"></a>
<a href="photos/06.jpg" data-alt="Fall" data-lightbox="image-1" data-title="Fall is coming, I love when the leaves on the trees start to change color."><img src="photos/thumbnails/06.jpg" alt="Image 6"></a>
<a href="photos/07.jpg" data-alt="Plantation" data-lightbox="image-1" data-title="I drove past this plantation yesterday, everything is so green!"><img src="photos/thumbnails/07.jpg" alt="Image 7"></a>
<a href="photos/08.jpg" data-alt="Dunes" data-lightbox="image-1" data-title="My summer vacation to the Oregon Coast. I love the sandy dunes!"><img src="photos/thumbnails/08.jpg" alt="Image 8"></a>
<a href="photos/09.jpg" data-alt="Countryside Lane" data-lightbox="image-1" data-title="We enjoyed a quiet stroll down this countryside lane."><img src="photos/thumbnails/09.jpg" alt="Image 9"></a>
<a href="photos/10.jpg" data-alt="Sunset" data-lightbox="image-1" data-title="Sunset at the coast! The sky turned a lovely shade of orange."><img src="photos/thumbnails/10.jpg" alt="Image 10"></a>
<a href="photos/11.jpg" data-alt="Cave" data-lightbox="image-1" data-title="I did a tour of a cave today and the view of the landscape below was breathtaking."><img src="photos/thumbnails/11.jpg" alt="Image 11"></a>
<a href="photos/12.jpg" data-alt="Blueballs" data-lightbox="image-1" data-title="I walked through this meadow of bluebells and got a good view of the snow on the mountain before the fog came in."><img src="photos/thumbnails/12.jpg" alt="Image 12"></a>
</div>
Опция 2: Или вы можете использовать filter
для фильтрации a
элементов, например:
$("#site-search").keyup(function() {
let searchInput = $("#site-search").val().toLowerCase();
$('.images-container > a').hide().filter(function() {
return $(this).attr('data-title').toLowerCase().includes(searchInput);
}).show();
});
$("#site-search").keyup(function() {
let searchInput = $("#site-search").val().toLowerCase();
$('.images-container > a').hide().filter(function() {
return $(this).attr('data-title').toLowerCase().includes(searchInput);
}).show();
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="search" id="site-search" placeholder="Search(16pt)">
<div class="images-container">
<a href="photos/01.jpg" data-alt="Hay Bales" data-lightbox="image-1" data-title="I love hay bales. Took this snap on a drive through the countryside past some straw fields."><img src="photos/thumbnails/01.jpg" alt="Image 1"></a>
<a href="photos/02.jpg" data-alt="Lake" data-lightbox="image-1" data-title="The lake was so calm today. We had a great view of the snow on the mountains from here."><img src="photos/thumbnails/02.jpg" alt="Image 2"></a>
<a href="photos/03.jpg" data-alt="Canyon" data-lightbox="image-1" data-title="I hiked to the top of the mountain and got this picture of the canyon and trees below."><img src="photos/thumbnails/03.jpg" alt="Image 3"></a>
<a href="photos/04.jpg" data-alt="Iceberg" data-lightbox="image-1" data-title="It was amazing to see an iceberg up close, it was so cold but didn’t snow today. "><img src="photos/thumbnails/04.jpg" alt="Image 4"></a>
<a href="photos/05.jpg" data-alt="Desert" data-lightbox="image-1" data-title="The red cliffs were beautiful. It was really hot in the desert but we did a lot of walking through the canyons."><img src="photos/thumbnails/05.jpg" alt="Image 5"></a>
<a href="photos/06.jpg" data-alt="Fall" data-lightbox="image-1" data-title="Fall is coming, I love when the leaves on the trees start to change color."><img src="photos/thumbnails/06.jpg" alt="Image 6"></a>
<a href="photos/07.jpg" data-alt="Plantation" data-lightbox="image-1" data-title="I drove past this plantation yesterday, everything is so green!"><img src="photos/thumbnails/07.jpg" alt="Image 7"></a>
<a href="photos/08.jpg" data-alt="Dunes" data-lightbox="image-1" data-title="My summer vacation to the Oregon Coast. I love the sandy dunes!"><img src="photos/thumbnails/08.jpg" alt="Image 8"></a>
<a href="photos/09.jpg" data-alt="Countryside Lane" data-lightbox="image-1" data-title="We enjoyed a quiet stroll down this countryside lane."><img src="photos/thumbnails/09.jpg" alt="Image 9"></a>
<a href="photos/10.jpg" data-alt="Sunset" data-lightbox="image-1" data-title="Sunset at the coast! The sky turned a lovely shade of orange."><img src="photos/thumbnails/10.jpg" alt="Image 10"></a>
<a href="photos/11.jpg" data-alt="Cave" data-lightbox="image-1" data-title="I did a tour of a cave today and the view of the landscape below was breathtaking."><img src="photos/thumbnails/11.jpg" alt="Image 11"></a>
<a href="photos/12.jpg" data-alt="Blueballs" data-lightbox="image-1" data-title="I walked through this meadow of bluebells and got a good view of the snow on the mountain before the fog came in."><img src="photos/thumbnails/12.jpg" alt="Image 12"></a>
</div>