在站点加载时,如何使用Javascript动态地将所有图像包装在链接中?
我几乎没有使用DOM和Javascript的经验,我有一个非常具体的任务要完成 假设我的HTML中有一个图像:在站点加载时,如何使用Javascript动态地将所有图像包装在链接中?,javascript,dom,href,image,Javascript,Dom,Href,Image,我几乎没有使用DOM和Javascript的经验,我有一个非常具体的任务要完成 假设我的HTML中有一个图像: <img src="foo.jpg" /> 加载站点时,我希望拍摄该图像(实际上是文档中的所有图像),并将其包装在链接中: <a href="http://www.foobar.com"><img src="foo.jpg" /></a> 我可以用什么来实现这一点?关于这项具体任务,谷歌并没有给我带来多少帮助。加载时,我可以访
<img src="foo.jpg" />
加载站点时,我希望拍摄该图像(实际上是文档中的所有图像),并将其包装在链接中:
<a href="http://www.foobar.com"><img src="foo.jpg" /></a>
我可以用什么来实现这一点?关于这项具体任务,谷歌并没有给我带来多少帮助。加载时,我可以访问和迭代文档中的所有图像。。。但我不知道从那里去哪里,以包装在一个链接的图像 您可以尝试以下几行:
window.onload = function() {
var images = document.getElementsByTagName('img');
for (var i = 0, image = images[i]; i < images.length; i++) {
var wrapper = document.createElement('a');
wrapper.setAttribute('href', 'http://www.foobar.com');
wrapper.appendChild(image.cloneNode(true));
image.parentNode.replaceChild(wrapper, image);
}
};
window.onload=function(){
var images=document.getElementsByTagName('img');
for(var i=0,image=images[i];i
我建议您使用优秀的库来操作DOM:
$(function() {
$('img').wrap('<a href="http://foo.com">');
});
$(函数(){
$('img').wrap('');
});
您可以尝试以下几行:
window.onload = function() {
var images = document.getElementsByTagName('img');
for (var i = 0, image = images[i]; i < images.length; i++) {
var wrapper = document.createElement('a');
wrapper.setAttribute('href', 'http://www.foobar.com');
wrapper.appendChild(image.cloneNode(true));
image.parentNode.replaceChild(wrapper, image);
}
};
window.onload=function(){
var images=document.getElementsByTagName('img');
for(var i=0,image=images[i];i
我建议您使用优秀的库来操作DOM:
$(function() {
$('img').wrap('<a href="http://foo.com">');
});
$(函数(){
$('img').wrap('');
});
在下面的示例中,所有图像都包装在指向其源的链接中。因此,如果图像具有//example.com
的src
,它将被一个指向//example.com
的锚(链接)包装
当然,您不希望链接某些图像,以便添加数据属性nolink
,例如:
$(function(){//在DOM就绪后运行
$('img:not([data nolink]))。每个(function(){//遍历每个img元素
$(this).wrap(');因此,当您单击任何链接时,您将看到与此处不同的图像
在下面的示例中,所有图像都被包装在指向其源的链接中。因此,如果图像具有//example.com
的src
,它将被包装为指向//example.com
的锚点(链接)
当然,您不希望链接某些图像,以便添加数据属性nolink
,例如:
$(function(){//在DOM就绪后运行
$('img:not([data nolink]))。每个(function(){//遍历每个img元素
$(this).wrap(');因此,当您单击任何链接时,您将看到与此处不同的图像
+1不知道replaceChild,我自己的纯js版本在测试时工作得不太好=)+1不知道replaceChild,我自己的纯js版本在测试时工作得不太好=)