2012-02-15 60 views
1

我有以下脚本来创建一些超链接,这些超链接是存储在数组中的数字。我希望能够单击这些数字并获取要显示在警告框中的特定数字。我能够看到链接,但是当我点击它们时,我没有看到任何数据。感谢您指导我,我正在尝试学习JavaScript。元素onclick事件不显示数据

<html> 
<body> 
<script type="text/javascript"> 
var str="732176086,732176085,735219154,735219155,23948614,23948629,23948628,764488973,764488974,764488975,23948631,732164301,732164304,732164305,732164303,732164302,732168040,832567989,832567988,807573121,807573120,765867299,831150154,831150153,23951065,23952295"; 
var str_array=str.split(','); 

for(var i=0;i<str_array.length;i++) 
{ 

controlRef = document.createElement('a'); 
var newLine=document.createElement('br'); 
document.body.appendChild(newLine); 
    controlRef.href = '#'; 
    controlRef.innerHTML = str_array[i]; 
    document.body.appendChild(controlRef); 
} 
    controlRef.onclick = function() { alert(controlRef.innerHTML); }; 


</script> 
</body> 
</html> 

回答

1

for循环中放置点击处理程序。

您还需要打破关闭controlRef。否则controlRef将指向最后一个元素。

controlRef.onclick = (function(element) { 
    return function() { 
     alert(element.innerHTML); 
    }; 
})(controlRef); 

jsFiddle

+0

感谢亚历克斯,但我现在可以看到数组中的最后一个索引的数据,但我如何将其更改为查看我点击的任何索引上的数据? – 2012-02-15 01:00:44

+0

@luckysing_noobster我做了一个更新。 :) – alex 2012-02-15 01:08:11

+1

\ o /谢谢亚历克斯的精彩解释。 – 2012-02-15 01:28:27