<img>
使用JavaScript获取页面上的元素很简单:
document.images
document.getElementsByTagName('img')
但是,是否有一种(合理的简便方法)将所有图像加载到页面上?
我考虑过使用querySelectorAll('*')
并检查其style.background
和style.backgroundImage
属性来遍历所有元素url
,然后将其与html图像元素组合在一起。
那是我唯一的选择吗?那会抓住一切吗?我想象在JavaScript加载的图像,新的HTML5图像元素(图片等)存在边缘情况。
我还不确定我该如何处理data-uri图像或SVG,但是如果有答案,那可能是一件好事。
做了一个新的答案,这个答案将找到所有带有certian背景的元素,并且绝对可以对具有背景或几个不同背景的所有项进行修改。
另外,您可以修改字符串的长度,确保它不是空字符串,因此具有背景,然后对该元素进行计数。
* JavaScript解决方案*
我要说的是,尽管所有要素都是您所说的唯一选择。
var count = 0;
window.onload = function () {
var elems = document.body.getElementsByTagName("*");
for(var i = 0; i < elems.length; i++)
{
var properties = (elems[i].currentStyle || window.getComputedStyle(elems[i], false));
background = properties.backgroundImage.slice(4, -1);
if(background.indexOf("http://placehold.it/50x50") > -1)
{
count++;
}
}
alert(count);
};
p {
background: url('http://placehold.it/50x50');
}
<div class="main">
<p>Test</p>
<p>Test</p>
<p>Test</p>
<p>Test</p>
</div>
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句