如何正确地将以下Jquery转换为纯Javascript?

如何正确地将以下Jquery转换为纯Javascript?,javascript,jquery,Javascript,Jquery,如何将下面的Jquery转换为纯JavaScript var $buttons = jQuery("#thePaginator li a"); for (var index = 0; index < $buttons.length; index++) { var $button = $buttons.eq(index); $button.click(function() { var newPage = $(this).data("page");

如何将下面的Jquery转换为纯JavaScript

var $buttons = jQuery("#thePaginator li a");
for (var index = 0; index < $buttons.length; index++) {
    var $button = $buttons.eq(index);
    $button.click(function() {
        var newPage = $(this).data("page");
        jQuery("#attribute-myAttribute").val(newPage);
        jQuery("#update").click();
    });
}
var$buttons=jQuery(#标签LIA”);
对于(变量索引=0;索引<$buttons.length;索引++){
var$button=$buttons.eq(索引);
$按钮。单击(函数(){
var newPage=$(此).data(“页面”);
jQuery(“#attribute myAttribute”).val(newPage);
jQuery(“更新”)。单击();
});
}
我通常不会问这样的问题,但是转换很困难,特别是对于事件侦听器。以下是我到目前为止的情况:

runPaginate();
function runPaginate(){
    var buttonArray = document.getElementById("paginator_TCC").querySelectorAll('li');
    for(i=0;i<(buttonArray.length);i++){
        buttonArray[i].addEventListener('click', runUpdate);
    }
}

function runUpdate(){
    console.log("runUpdate started")
    // will need to add code in here for update
}
runPaginate();
函数runPaginate(){
var buttonArray=document.getElementById(“paginator_TCC”).querySelectorAll('li');

对于(i=0;i我将使用一个
for…of
循环,并将回调移动到循环中。这样您就可以访问迭代器:

 for(const button of buttonArray){
    button.addEventListener('click', function runUpdate() {
      const { data } = button.dataset;
      //...         
    });
 }

这是jQuery的JS等价物(这只是将jQuery方法调用替换为其等价的JS方法调用)

var buttons=document.querySelectorAll(“#标签LIA”);
对于(变量索引=0;索引<$buttons.length;索引++){
var按钮=按钮[索引];
按钮。addEventListener(“单击”,函数(evt){
var newPage=this.dataset.page;
document.getElementById('attribute-myAttribute')。value=newPage;
document.getElementById('update')。单击();
})
}

您正在查找“#the Paginator li a”,但没有锚定标记。请在这里@GouravMakhija查找解决方案我查看了您的解决方案,您仍在使用Jquery查找解决方案。您是否暗示您的答案不会执行?我尝试测试您的代码,以测试您拥有的事件侦听器是否可以触发,到目前为止,它可以不是这样,当我使用var buttonArray=document.getElementById(“paginator_TCC”).querySelectorAll('li')时;然后触发您的解决方案,即事件侦听器,这是朝着正确方向迈出的一大步。实际上,我在另一个网站上遇到了类似的解决方案。谢谢!因此,我尝试将数据集分配给newPage变量,并将其输出到控制台。->var newPage=this.dataset.page;我在控制台中未定义我想知道如何正确地转换Jquery的那一行?
 for(const button of buttonArray){
    button.addEventListener('click', function runUpdate() {
      const { data } = button.dataset;
      //...         
    });
 }