js如何通过for循环为每个对象添加事件 15

<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/... <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<style>
*{list-style:none;padding:0;margin:0;}
ul{margin:auto}
li{line-height:30px;margin:10px;}
</style>
<script>
window.onload=function(){
var oUl=document.getElementsByTagName('ul')[0];
var oLi=oUl.getElementsByTagName('li');
for(var i=0;i<oLi.length;i++)
{
oLi[i].onclick=function(){
alert(i);
}
}
}
</script>
</head>

<body>
<ul>
<li>111</li>
<li>222</li>
<li>333</li>
<li>444</li>
</ul>
</body>
</html>
上面的代码,我想通过for循环为每一个li添加一个onclick事件,即点击每个li弹出该li的序列,为什么点击只是弹出第四个的结果?
展开
 我来答
明知没有理由丷dhdfa
2015-02-02 · TA获得超过486个赞
知道小有建树答主
回答量:545
采纳率:0%
帮助的人:185万
展开全部
window.onload = function(){
var li = document.getElementsByTagName("li");
for(i=0; i<li.length; i++){
li[i].onclick = function(){
alert(this.innerHTML);
}
}
}
追问
其实我的目的不是为了最终的输出,我是想通过循环结构,给每一个对象添加onclick事件,为了解决此类问题的,听说会涉及到闭包什么的
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式