<script type="text/javascript">
for(var i=0;i<10;i++){
(function(i){
var a=document.createElement('a');
a.innerHTML=i+'<br>';
document.body.appendChild(a);
a.addEventListener('click',function(e){
e.preventDefault(); //取消默认事件,指a标签
alert(i);
});
})(i);
}
</script>
由于使用了document.body.appendchild(),因此要将script标签内的代码放在body之后,原因如下:
出现这种无法获取未定义或null引用的属性报错提示,
说明在文档DOM结构尚未加载完成之前,脚本(script)就开始操作DOM啦
还有其他方法:
1.在function之前使用window.onload
2.使用settimeout
3.使用insertbefore