如何将javascript函数放在生成的链接上
How to put a javascript function on a generated link
我试图给一个生成的链接标签列表一个函数,这就是我的方法。
for (i = 0; i < friendsXML.length; i++) {
friendListInDiv = document.createElement("p");
var link = document.createElement("a");
link.onclick = function() {
openChat(friendsXML[i].textContent)
};
var friendText = document
.createTextNode(friendsXML[i].textContent + ":"
+ statusXML[i].textContent);
link.appendChild(friendText);
friendListInDiv.appendChild(link);
friendDiv.appendChild(friendListInDiv);
}
目前openChat(name)函数只调用警报来测试其值
function openChat(name){
alert(name);
}
现在的问题是,当我转到我的网页并点击其中一个生成的链接时,它总是提醒第一个名字(每个链接都提醒相同的名字,第一个)。所以我的问题是,我该如何修复我为每个链接提醒正确名称的问题?
如果需要,这里有一个完整代码的粘贴框http://pastebin.com/8ggE7SHs
将其封装在函数闭包中:
for (i = 0; i < friendsXML.length; i++) {
(function(i) {
friendListInDiv = document.createElement("p");
var link = document.createElement("a");
link.onclick = function() {
openChat(friendsXML[i].textContent)
};
var friendText = document
.createTextNode(friendsXML[i].textContent + ":"
+ statusXML[i].textContent);
link.appendChild(friendText);
friendListInDiv.appendChild(link);
friendDiv.appendChild(friendListInDiv);
}(i))
}
您的变量被提升到外部作用域,Javascript只有函数级作用域。
相关文章:
- 当链接javascript承诺时,如何处理then()函数中的条件
- 如何在grails中链接javascript引导程序方法
- 在PHP代码中单击链接javascript函数调用
- 随机链接javascript以忽略当前页面
- 如何链接javascript承诺和错误
- 在从ruby on rails中的资产管道加载的布局上链接Javascript函数
- 用链接 JavaScript 替换 HTML 的问题
- 突出显示当前链接 Javascript
- 如何在数组中添加超链接(Javascript)
- 有没有一种简单的方法可以在节点上双击 vis.js 创建超链接/javascript-action
- Facebook分享深度链接 - Javascript
- 链接 JavaScript 变量
- 在 AJAX 成功的新选项卡中打开链接 - Javascript
- window.打开一个新页面,然后单击新页面中的链接 - JavaScript
- 链接 JavaScript 函数
- 在 PHP 中链接 Javascript 文件
- 在拖动事件期间禁用链接 Javascript
- 文本框使用 if else 语句打开我的链接 JavaScript
- ajax脚本运行后指向页面的链接(javascript锚点?)
- 动态创建链接Javascript