画像を指すリンクのリストと、(画像の)URLを取得し、関数が呼び出されたときにその画像をページに配置するjs関数があります。
私はもともとインラインonlick="showPic(this.getAttribute('href'))"を各aに追加していましたが、インラインjsを分離したいと思います。ページが読み込まれたときに各タグにonclickを追加するための私の機能は次のとおりです。
function prepareLinks(){
var links = document.getElementsByTagName('a');
for(var i=0; i<links.length; i++){
var thisLink = links[i];
var source = thisLink.getAttribute('href');
if(thisLink.getAttribute('class') == 'imgLink'){
thisLink.onclick = function(){
showPic(source);
return false;
}
}
}
}
function showPic(source){
var placeholder = document.getElementById('placeholder');
placeholder.setAttribute('src',source);
}
window.onload = prepareLinks();
...しかし、showPicが呼び出されるたびに、ソース変数は最後の画像のhrefになります。各リンクに正しいonclickを設定するにはどうすればよいですか?