我有一列链接,指向图片,并且有一个js函数,当调用该函数时,将在页面上放置该图片。原本我正在为每个a标签添加inline onlick="showPic(this.getAttribute('href'))",但是我想分离出这个inline js。下面是在页面加载时为每个a标签添加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时,source变量都是最后一张图片的href。如何让每个链接都具有正确的onclick事件?
window.onload
写法有误,它会把prepareLinks()
的返回值赋给window
的load
事件。 - alex