Делаю аякс запрос, после которого меня значение атрибута. В DOM всё меняется, как положено. Но когда снова кликаю по кнопке - в консоль выводится старое значение аттрибута. Такое ощущение, что не видит изменения в разметке и подгружает старые данные.
$('.more_credits_first').click(function () {
var button = $(this)
var show = $(button).data('show');
console.log(show)
if (show == 'show') {
$.get(window.location.pathname,{}).done(function(data){
$('.tbody.main_credits').append(data.template);
$(button).attr('data-show', 'hide');
$(button).text('Скрыть');
})
} else {
$(this).attr('data-show', 'show');
$(this).text('Ещё кредиты');
}
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button class='more_credits_first' type="button" data-show='show'>Кнопка</button>
Не нужно редактировать html-атрибут, редактируйте dataset.
Т.е. вместо $(button).attr('data-show', 'hide');
нужно:
button.data('show', 'hide');
И то же самое для установки значения 'show':
button.data('show', 'show');
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Пишу drag-and-drop с возможностью поворота и ресайза на VueJsСуть работы простая: отслеживаю перемещения мышкой, в соответствии с ними обновляю модель,...
Есть сайт на angular, сайт не мойХочу немного оптимизировать работу с ним для себя
Вопрос, возможно, слишком общий или не по теме, но мне интересноЯ видел, что кто-то использует querySelector для поиска элемента по id, а не по имени...