我有一个变量myvar = document.getElementById('myid').innerHTML
,我想使用JavaScript将所有图像替换为相应的src属性。
编辑:很抱歉!我试图简洁,时间宝贵而且所有 - 显然我失败了。
借用Jon的解释:
我想在myid
中存储id为myvar
的所有元素,然后迭代它们以将所有元素更改为纯文本 - 纯文本是其{{1}的值} attributes。
这是我想要实现的一个例子。
我从这样的事情开始:
src
它会转化为:
<img src="someimage.png"><br>
Lorem ipsum dolor sit amet<br>
<img src="anotherimage.jpg"><br>
Lorem ipsum dolor sit amet
答案 0 :(得分:0)
我不知道你要做什么,但是如果你想在变量下使用<img>
,请使用:
var images = myvar.getElementsByTagName('img');
for (var i = 0; i < images.length; i++){
images[i].src = "foo"; // changes the src of the image.
}
我希望它有所帮助。下次问一个更明确的问题......
答案 1 :(得分:0)
我不知道你在谈论世界的是什么,所以我只是建议使用jQuery(因为它很简单)并随心所欲地做任何事情。
$.each($("img", $("#yourTargetDivOrBlankForBody"), function() {
var $img = $(this);
$img.attr("src", blahl balh);
//Any other operations.
});
答案 2 :(得分:0)
新浏览器......
[].slice.call(element.querySelectorAll('img')).forEach(function(img) {
img.src = 'new url';
});
旧浏览器......
var imgs = element.getElementsByTagName('img');
for (var i = 0, length = imgs.length; i < length; i++) {
imgs[i].src = 'new url';
}
答案 3 :(得分:0)
似乎每个人都错过了你的要求,也许你已经“澄清”了这个问题。这应该适合:
var image, images = document.images;
var i = images.length;
while (i--) {
image = images[i];
image.parentNode.replaceChild(document.createTextNode(image.src), image);
}
它将使用src属性值的文本节点替换文档中的所有图像。请注意,当您替换每个元素时, images 集合将变得更短,因此向后循环。你也可以这样做:
while (images.length) {
image = images[0];
image.parentNode.replaceChild(document.createTextNode(image.src), image);
}
如果要将其限制为仅包含paricular元素内的图像,请使用element.getElementsByTagName('img')
获取对该元素的引用并将 images 创建为NodeList;