元素onclick事件不显示数据

时间:2012-02-15 00:45:19

标签: javascript javascript-events

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

<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 个答案:

答案 0 :(得分:1)

将点击处理程序置于for循环内。

您还需要将关闭分解为controlRef。否则controlRef将指向最后一个元素。

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

jsFiddle