gpt4 book ai didi

javascript - Uncaught ReferenceError : function is not defined but it is defined

转载 作者:行者123 更新时间:2023-11-28 13:00:55 27 4
gpt4 key购买 nike

for(let i = 0; i < row.length; i++){
let ref_num = row[i].getElementsByTagName('th')[0].innerText;
row[i].getElementsByTagName('th')[0].innerHTML = "<button onclick=generateProcessLogQuery(this.value)>"+ref_num+"</button>"
console.log("Ref Number : ",ref_num);
}

function generateProcessLogQuery(refresh){
console.log("Hrere : ",refresh)
}

我得到:

Uncaught ReferenceError: generateProcessLogQuery is not defined

但是你可以看到它已经被定义了。

最佳答案

虽然它是在您向我们展示的代码片段中定义的,但它并未在 onclick 函数最终运行的范围内定义。

不要通过将字符串混合在一起来生成嵌套在 HTML 中的 JS。

使用 DOM。这可以让您保留引用和范围。

let button = document.createElement("button");
button.addEventListener("click", function (event) {
generateProcessLogQuery(this.value);
});
button.appendChild(document.createTextNode(ref_num);
row[i].getElementsByTagName('th')[0].appendChild(button);

注意:在您定义的没有 value 属性的按钮上使用 this.value 很奇怪。

关于javascript - Uncaught ReferenceError : function is not defined but it is defined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50604003/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com