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

ありがとうございましたが、配列の最後のインデックスのデータが表示されるようになりましたが、どのインデックスをクリックしてもそのデータを表示するにはどうすれば変更できますか? –

+0

@luckysing_noobster更新しました。 :) – alex

+1

\ o /素晴らしい説明のためにアレックスに感謝します。 –

関連する問題