我有一个指向图像的链接列表,以及一个需要URL(图像)并将该图像放在页面上的js函数当函数被调用时。JavaScript - 遍历所有标签,为每个标签添加一个onklick
我最初为每个a添加了一个内联onlick =“showPic(this.getAttribute('href'))”,但我想分离出内联js。这是我添加一个onclick每个当标签页面加载FUNC:
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?
不想使用jQuery,使这个名副其实的单行? – 2012-04-12 23:24:40
你的'window.onload'是错误的。这会将'prepareLinks()'的返回赋值给'window'的'load'事件。 – alex 2012-04-12 23:36:01
@alex:很好的捕获,甚至没有看到 – 2012-04-12 23:37:16