2012-02-15 94 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