我对Javascript很新,并提出以下问题:
HTML:
<div id="button"></div>
JS:
for (var items in $scope.data.users){
if ($scope.data.users.hasOwnProperty(items)) {
document.getElementById("button").innerHTML += "<button onclick='console.log(5)'>"+items+"</button>";
console.log(items);
}
}
到目前为止,我的json对象中的所有用户都被读取并且为每个项目创建了一个按钮,当我单击一个按钮时,它会在控制台中显示正确的测试“5”。 但是,当我重复点击时,会出现错误,我不知道为什么......
答案 0 :(得分:0)
我认为您的数组或范围在点击事件中已更改。
虽然下面的例子不是用我认为的(我相信)你的Angular模块编写的,但它确实可以工作并遍历列表,创建按钮并且不会抛出任何错误或异常。基本上它是具有不同数组的相同代码。试着找出它和你自己的代码之间的区别。
我唯一改变的是使$scope.data.users
成为一个整数数组。
let arr = [1, 2, 3];
for (var items in arr){
if (arr.hasOwnProperty(items)) {
document.getElementById("button").innerHTML += "<button onclick='console.log(5)'>"+items+"</button>";
console.log(items);
}
}
<div id="button"></div>