我的页面中的链接很少,我想为每个链接添加一个功能。我已经用循环做到了。
现在,我得到了一个对象数组。我想将对象值传递给我分配给链接的函数。所以我想将链接数组与我的对象数组匹配。
html
<a href="#">link1</a>
<a href="#">link2</a>
<a href="#">link3</a>
js
var myArray = [
obj1 = {property: "value1"},
obj2 = {property: "value2"},
obj3 = {property: "value3"}
];
var pageLinks = document.getElementsByTagName("a");
for (i = 0, len = pageLinks.length; i < len; i++){
pageLinks[i].attachEvent("onclick", function(i){
alert(myArray[i].property);
}, false);
}
我试过这样做,但我想我错过了一些东西。如果我使用数组索引而不是i
inalert()
它工作正常。但是没有匹配。我被困在只有一个 obj 上。我如何才能将loop
'i
不仅传递给页面链接,还传递给我的函数。
编辑:我想我应该提到我是 JS 新手。我什至不知道 JS 中的闭包是什么意思。绑定也是如此...与其告诉我要做什么/使用什么,不如告诉我如何解决我当前的问题并链接一个演示?由于我是 JS 新手(不知道所有这些术语),因此很难在其他人的代码中获取逻辑。反正。我现在有答案了。谢谢。