function Insert_Icon() {
var images = document.images;
for (var i=0; i<images.length; i++){
if (images[i].parentNode.tagName.toLowerCase()=='a') {
var re = new RegExp("google\.com","ig");
if (re.test(images[i].parentNode.href)){
alert(images[i].parentNode.href);
}
/* ---need insert this element before anchor----
var currentElement = document.createElement("img");
currentElement.setAttribute("class", "icone");
currentElement.setAttribute("src", "images/google.png"); */
}
}
}
带谷歌超链接的所有图片显示我的png,尝试insertBefore但不成功
像这样<img class="icone" src="images/google.png"/><a href="http://google.com" target="_self"> <img class="cover_imagem" src="cover/2.jpg"</a>
答案 0 :(得分:1)
我知道这不是您问题的答案,但您可以尝试使用css。但是,这不适用于所有浏览器。
a[href^="http://google.com"]:before {
content: url(http://g.etfv.co/http://www.google.com);
}
http://jsfiddle.net/kaleb/vbVck/
使用JavaScript在循环中执行此操作将导致许多重绘,这可能会破坏网页的性能和感知性能。理想情况下,您可以使用类似Modernizr的内容来测试用户的浏览器是否支持这些功能,并仅在必要时执行JS后备。
答案 1 :(得分:0)
如果您说<img>
需要从其父<a>
中移除,并在<a>
之前插入,请执行以下操作:
// parent of <a>--------v the <img>---------v the <a>----------v
images[i].parentNode.parentNode.insertBefore( images[i], images[i].parentNode );
这会在insertBefore
的parentNode(即<a>
的parentNode)上调用<img>
,并在<img>
之前插入<a>
。< / p>