你任何你赋值了吗?
var spans = document.getElementsByTagName("span");
for (var i = 0; i < spans.length; ++i){
spans[i].onclick = function(X){
alert(this.innerHTML + X);
/*问题在上面这行
代码看起来已经传递了i,但为什么在onclick事件里依然是undefined呢?
*/
}你给 X值了没?
明显错了
var spans = document.getElementsByTagName("span");
for (var i = 0; i < spans.length; ++i){
spans[i].onclick = function(X){
alert(this.innerHTML + X);
/*问题在上面这行
代码看起来已经传递了i,但为什么在onclick事件里依然是undefined呢?
*/
}你给 X值了没?
明显错了
<span>America</span>
<span>Singapore</span><script type="text/javascript">
var spans = document.getElementsByTagName("span");
for (var i = 0; i < spans.length; i++){
spans[i].onclick =(function(x){return function(){alert(x);}})(i)
}
</script>
<span>China</span>
<span>America</span>
<span>Singapore</span>
<script type="text/javascript">
var spans = document.getElementsByTagName("span");
for (var i = 0; i < spans.length;i++){
spans[i].onclick = function(id){
return function(){
alert((this.innerHTML)+id);
}
}(i)
}
</script>