在使用图像的地方替换图像- Javascript
Replace an image wherever it is used - Javascript
我正在寻找一种方法来替换可以在页面上任何地方使用的图像。
如果我们有一个像这样的html页面示例:
<html>
<head>
</head>
<body>
<img id="1" src="example.com/img/1889.png">
<div style="background: url('example.com/img/1889.png')">
<div>
<a>
<img id="2" src="example.com/img/1889.png">
</a>
</body>
</html>
每当- example.com/img/1889.png -出现时,必须用其他内容替换。
编辑
不幸的是我不能使用任何javascript库。这是一个浏览器插件。也不能使用浏览器特定的api
这里可能有一些语法错误,但基本上可以尝试这样做:
<script>
var imgs = document.getElementsByTagName("img");
for (var i = 0; i < imgs.length; i++) {
if (imgs[i].src == "oldImg")
imgs[i].src = "newImg";
}
}
var divs = document.getElementsByTagName("div");
for (var i = 0; i < divs.length; i++) {
if (divs[i].style.backgroundImage == "oldImg")
divs[i].style.backgroundImage = "newImg";
}
}
</script>
下面的代码可以满足您的要求:
var images = document.querySelectorAll('[src]'), // all image and input elements
styled = document.querySelectorAll('[style]'), // all elements with inline style
iLen = images.length,
sLen = styled.length,
url = 'example.com/img/1889.png', // the string you're searching for
str = 'some/string', // replace with whatever you choose
i;
// check for 'example.com/img/1889.png' in image source
for (i = 0; i < iLen; i += 1) {
if (images[i].src.indexOf(url) !== -1) {
images[i].src = str;
}
}
// check for 'example.com/img/1889.png' in either background or background-image
for (i = 0; i < sLen; i += 1) {
if (styled[i].style.backgroundImage.indexOf(url) !== -1) {
styled[i].style.backgroundImage = 'url(' + str + ')';
}
}
演示相关文章:
- 使用javascript的图像替换循环
- 是否可以仅通过jQuery将图像替换为用户动态选择的另一个图像
- 用图像替换SVG
- 将href中的图像替换为其他元素中的图像
- 错误时用图像替换视频
- 以编程方式将fabric-js-canvas的图像替换为hq图像,并重新计算其他对象的坐标和大小
- jQuery 图像替换为类
- 可以用我自己的自定义图像替换光标
- jQuery-图像替换转换〔Safari中的问题〕
- d3.js用图像替换节点
- 用图像替换页面,而不是添加图像
- 可以动态设置图像替换文本吗
- JQuery - 单击时将背景图像替换为另一个背景图像
- 将鼠标悬停在另一个图像上时,将图像替换为另一个图像
- HTML:用图像替换文本微笑
- 将所有图像替换为一个图像 Javascript
- 在 jquery 中使用类和 ID 将一个图像替换为另一个图像
- 如何用自定义图像替换脸书按钮
- 在 PHP 中将一个外部图像替换为另一个内部图像
- 将图像替换为另一个图像,然后在超时后再次替换 - Javascript