首页 > 解决方案 > 如何将此 JQuery 转换为 vanilla Javascript?

问题描述

你好,过去几天我一直在尝试将我所有的 jquery 转换为 vanilla javascript,这是我遇到问题的少数几个之一

 $(".book").click(function(){
    var timeslot = $(this).attr('data-timeslot');
    $("#slot").html(timeslot);
    $("#timeslot").val(timeslot);

})

这是我到目前为止想出的,甚至不知道我是否已经开始正确转换

var book = document.querySelector(".book");
book.addEventListener('click', function() {

  var timeslot = book.getAttribute('data-timeslot');
  document.getElementById("slot").innerHTML = timeslot;


}());

问题是我是沿着正确的路线还是朝着错误的方向前进

标签: javascriptjquery

解决方案


这几乎是正确的,除了 select 应该取所有匹配项

var books = document.querySelectorAll(".book");
[...books].forEach(book => {
   book.addEventListener('click', function() {

   var timeslot = book.getAttribute('data-timeslot');
   document.getElementById("slot").innerHTML = timeslot;
  });
})

推荐阅读