$("a").each(function() { openFile($(this).attr('href')); }
我从另一个问题得到了这个。 openFile是一个根据链接的文件扩展名切换img src的函数。
现在,如果我有这个:
<a class="thelink" href="../General Reading/General Reading 1/Luddites/Luddites 4 Summary.pdf"><img class="theimage" src="" alt="icon"/> <div class="thefile"></div></a>
<a class="thelink" href="../General Reading/General Reading 1/Luddites/Luddites 5 Reading.pdf"><img class="theimage" src="" alt="icon"/> <div class="thefile"></div></a>
<a class="thelink" href="../General Reading/General Reading 1/Luddites/Luddites 1 Vocab.ppt"><img class="theimage" src="" alt="icon"/> <div class="thefile"></div></a>
<a class="thelink" href="../General Reading/General Reading 1/Luddites/Luddites 2 Grammar Preview.ppt"><img class="theimage" src="" alt="icon"/> <div class="thefile"></div></a>
我的功能只在结束时运行一次我猜并从最后一个网址获取信息。我想要的是循环每个链接并根据特定链接更改信息。
很难解释。
答案 0 :(得分:2)
这样openFile
函数不知道要定位哪个图像。也许这会起作用吗?
$("a").each(function() {
var src = openFile($(this).attr('href'));
$(this).find('img').attr('src',src);
});
function openFile(href) {
// do stuff
// and make sure the src is returned
return 'something';
}
或者将图像对象添加到openFile函数中,以便您可以从那里进行目标:
$("a").each(function() {
var img = $(this).find('img');
openFile($(this).attr('href'), img);
});
function openFile(href, img) {
// do stuff
img.attr('src', something);
}
或者只是将openFile
功能合并到jQuery调用中:
$("a").each(function() {
// do stuff with $(this).attr('href')
// change $(this).find('img').attr('src',src);
});
答案 1 :(得分:0)
你不需要在包含a的控件上执行.each吗?不是'a'控制本身?
答案 2 :(得分:0)
将此作为另一个参数传递给打开文件,或者更好地通过执行以下操作将其绑定到打开文件:
$('a').each(openFile);
然后
function openFile()
{
//do stuff on $(this)
}