Имеется скрипт манипуляции атрибутом на jquery. Нужно переписать на js.
Всё оказалось, куда сложнее чем показалось на первый взгляд. Прошу помочь с этой задачей. Заранее спасибо!
Код:
$('.star.rating').click(function(){
$(this).parent().attr('data-stars', $(this).data('rating'));
});
Вот с чем мне уже удалось разобраться...
document.addEventListener('DOMContentLoaded', function() {
[].forEach.call(document.querySelectorAll('.star, .rating'), function(el) {
el.addEventListener('click', function() {
// мой код..
})
})
})
this.parentNode.setAttribute("data-stars", this.dataset.rating);
Но, вероятно, лучше:
this.parentNode.dataset.stars = this.dataset.rating;
Кроме того, выборке
$('.star.rating')
соответствует
document.querySelectorAll('.star.rating')
Как то так
document.addEventListener('DOMContentLoaded', function() {
[].forEach.call(document.querySelectorAll('.star, .rating'), function(el) {
el.addEventListener('click', function() {
el.parentNode.setAttribute("data-stars", el.getAttribute('data-rating'));
})
})
})
<div id="parent">
<div class="star" data-rating="1">1</div>
<br>
<br>
<div class="rating" data-rating="2">2</div>
test
</div>
Сборка персонального компьютера от Artline: умный выбор для современных пользователей