js动态添加标签时怎样添加有动态参数的onclick事件,新手求教??

gyw930 2012-03-31 11:09:09
var responseText = http_request.responseText;
rt = eval(responseText); //后台返回的数据
var ul = document.getElementById(id); //获取ul对象
var li;
//循环添加li
for ( var i = 0; i < rt.length; i++) {
li = document.createElement("li");
li.id = "pro" + i;
// li.oclick = getCity("pro"+i);//在这里如何给li添加onclick事件要把li的id作为参数传进去? li.value = rt[i];
li.innerHTML = rt[i];
ul.appendChild(li);
}

我想在for循环中给li标签添加有参的onclick事件,并且参数是li的id,膜拜各位大神。。。
...全文
1559 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
gyw930 2012-03-31
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 的回复:]
调试成功没?

就是 闭包的问题,楼主可以去看看
http://topic.csdn.net/u/20120330/16/4ec95e8c-8e74-4894-ba7c-4d7b45352660.html
[/Quote]

成功传入,谢谢大侠。。。
001007009 2012-03-31
  • 打赏
  • 举报
回复
调试成功没?

就是 闭包的问题,楼主可以去看看
http://topic.csdn.net/u/20120330/16/4ec95e8c-8e74-4894-ba7c-4d7b45352660.html
gyw930 2012-03-31
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]
在创建<li>标签的时候多写点,把这句话onclick='getCity(this.id)'加到里面
不知道是不是你想要的
[/Quote]
刚才试了。。这种方法不管用。。
gyw930 2012-03-31
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 的回复:]
for ( var i = 0; i < rt.length; i++) {
li = document.createElement("li");
li.id = "pro" + i;
// li.oclick = getCity("pro"+i);//在这里如何给li添加onclick事件要把li的id作为参数传进去?
(function(i){
li.onclick = func……
[/Quote]

看不太明白,能不能讲解一下?谢谢大侠。。。
001007009 2012-03-31
  • 打赏
  • 举报
回复
for ( var i = 0; i < rt.length; i++) {
li = document.createElement("li");
li.id = "pro" + i;
// li.oclick = getCity("pro"+i);//在这里如何给li添加onclick事件要把li的id作为参数传进去?
(function(i){
li.onclick = function(){
return getCity('pro'+i);
}
})(i);
li.value = rt[i];
li.innerHTML = rt[i];
ul.appendChild(li);
}






楼主试试
不懂游走 2012-03-31
  • 打赏
  • 举报
回复
在创建<li>标签的时候多写点,把这句话onclick='getCity(this.id)'加到里面
不知道是不是你想要的
gyw930 2012-03-31
  • 打赏
  • 举报
回复
动态添加的怎么设置html啊?
gyw930 2012-03-31
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]
你直接在ul.appendChild(li);前设置好li的html不就行了。
<li oclick=getCity("+pro"+i)"></li>
[/Quote]

本人比较菜,能不能将详细点啊,谢谢大侠。。
gyw930 2012-03-31
  • 打赏
  • 举报
回复
本人比较菜,能不能将详细点啊?
假装很屌 2012-03-31
  • 打赏
  • 举报
回复
你直接在ul.appendChild(li);前设置好li的html不就行了。
<li oclick=getCity("+pro"+i)"></li>
gyw930 2012-03-31
  • 打赏
  • 举报
回复
木有人看吗?
gyw930 2012-03-31
  • 打赏
  • 举报
回复
各位大神,都进来帮看看啊。。。。。。。

87,907

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧