我想通过外部js文件将每个<img>
转换为自身(文件)的链接。
我的思维过程是我可以定位所有img元素,然后抓取图像src并在img元素周围放置一个链接。 例如:
转过来:
<img width="281" vspace="7" hspace="5" height="215" align="left" alt="img1" src="cits/images/image001.jpg"></img>
进入这个:
<a href="cits/images/image001.jpg" target="_blank">
<img width="281" vspace="7" hspace="5" height="215" align="left" alt="img1" src="cits/images/image001.jpg"></img>
</a>
看起来我可以将img src作为变量获取并找到img元素,但我不知道如何在img周围添加链接。
答案 0 :(得分:3)
抓住所有图像。
var images = document.getElementsByTagName('img');
编写一个用新标记替换图像outerHTML
的函数,包括指向图像src
属性的链接,其中包含图像的旧outerHTML
。
function makeLink(image){
image.outerHTML = '<a target="_blank" href="' + image.src + '">' + image.outerHTML + '</a>';
}
循环浏览图片,并将每个图片提交到makeLink
函数。
for(var i = 0, l = images.length; i < l; ++i){
makeLink(images[i]);
};
答案 1 :(得分:2)
以防您使用jQuery
$('img').each(function(ix, image){
$(image).wrap('<a target="_blank" href="' + $(image).attr('src') + '"></a>');
})
答案 2 :(得分:1)
如果您愿意使用jQuery
,则代码非常简单:
$("img").each(function () {
$(this).wrap($("<a target='_blank'/>").attr("href", $(this).attr("src"));
});
否则你将不得不研究一个原始的JavaScript
解决方案,这个解决方案更加精细。见@ Barney的回答。