Есть скрипт:
<?php
while ($result = mysqli_fetch_assoc($query)) {?>
<a class="like-icon" href="#"></a>
<span class="like-count">23</span>
<?php
}
?>
Я хочу получить доступ к span при нажатии на $(".like-icon") с помощью jQuery.
Вот неправильный код (для демонстрации):
$(document).ready(function () {
$(".like-icon").on("click", function () {
var number = $(this .like-count).html();
})
})
Лучше использовать .next() с аргументом, содержащим селектор родственника:
$('.like-icon').click(function () {
var result = $(this).next('.like-count'); // выбираете искомый элемент...
if (result.length) {
result.css('color', 'red'); // ...и делаете с ним что пожелаете
} else {
console.log('.like-count не найден!'); // [опционально: если элемент не найден - выводим ошибку в консоль, и/или выполняем другие действия]
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a class="like-icon" href="#">Link</a>
<span class="like-count">23</span>
Потому что это заметно не повлияет на отзывчивость, и может уберечь от непредсказуемого поведения скрипта, если следующий элемент по каким-то причинам окажется не тем, что ожидается.
Так как span - это следующий элемент относительно ссылки, для его получения можно использовать метод .next
$(document).ready(function () {
$(".like-icon").on("click", function () {
var number = $(this).next().html();
})
})
Выбирайте селектор правильно:
$(document).ready(function () {
$(".like-icon").on("click", function () {
var number = $(".like-icon .like-count").html();
})
})
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости