最有效的跨浏览器方式将此jquery转换为Pure JS

时间:2018-06-11 18:40:24

标签: javascript jquery

您认为将此jquery转换为包含IE的纯js的最佳方法是什么? (附上event / addeventlistener)

$('.star.rating').click(function(){
  console.log( $(this).parent().data('stars') + ", " + $(this).data('rating'));

  $(this).parent().attr('data-stars', $(this).data('rating'));
});

1 个答案:

答案 0 :(得分:1)

要访问父级,您可以在触发处理程序的元素上使用.parentNode

document.querySelectorAll('.star.rating').forEach(elem, function() {
    elem.addEventListener('click', setRating);
});

function setRating() {
    var rating = this.getAttribute('data-rating');
    var parent = this.parentNode;
    var stars = parent.getAttribute('data-stars');

    console.log(stars + ", " + rating);

    parent.setAttribute('data-stars', rating);
}