JavaScript:将单击处理程序绑定到对象实例引发未定义错误

JavaScript:将单击处理程序绑定到对象实例引发未定义错误,javascript,jquery,Javascript,Jquery,假设我有一个对象oTodo,它有两个函数: let oTodo = { getTodoList: function() { alert('test'); } displayPageNums: function() { for(let i = 1; i <= 3; i++) { $('#next').before(`<li class="page-item"> &l

假设我有一个对象
oTodo
,它有两个函数:

let oTodo = {

    getTodoList: function() {
        alert('test');
    }

    displayPageNums: function() {
        for(let i = 1; i <= 3; i++) {
             $('#next').before(`<li class="page-item">
               <button onclick="oTodo.getTodoList()" class="page-link">${i}</button>
               </li>`);
        }
    },

}

当您使用jQuery时,考虑使用jQuery将单击事件绑定到您的<代码> LI< /Case>元素,而不是使用与当前相同的内联事件绑定(通过<代码> OnCase< /代码>)。p> 采用这种方法将使您能够直接访问

oTodo
对象,并调用相应的
getToList()
函数作为单击事件处理程序,如下所示:

let oTodo={
getToList:函数(事件){
常量值=event.currentTarget.dataset.value;
警报(值);
},
displayPageNums:function(){

对于(让i=1;i很遗憾,您正试图将javascript与html结合起来,但jQuery不可能将其与jsx结合起来。使用$script标记需要脚本

最好将嵌套的obj fucn分配给变量,如下所示

const someVariable = oTodo.displayPageNums;
然后您可以将它与onclick一起用作

<button onclick="someVariable()" class="page-link"></button>


对于${i},您必须用Jquery绑定它,并用$.html()注入它函数

sir如果单击了li,我如何通知a href的值是的,因为我尝试在GetToList函数上放置一个参数,并使用该参数通知变量i,但是它不起作用sir只有该值而不是其他文本,如某些/hr变量i的值你只能尝试回答这个问题吗
<button onclick="someVariable()" class="page-link"></button>