检查一个元素是否有纯JS的背景图像
Check if an element has a background-image with pure JS?
在纯Javascript中,检查特定元素是否具有与之相关的background-image
的正确方法是什么?
现在我有这个:
var elementComputedStyle = window.getComputedStyle(element);
var hasBGImage = elementComputedStyle.getPropertyValue('background-image') !== 'none'
您的方法可以工作,但是还有其他方法可以更容易地找到该属性。然而,我不相信有一个单一的"正确"的方法来做这件事。
javascript:
var hasBGImage = element.style.backgroundImage !== '';
使用jQuery: var hasBGImage = $(element).css('background-image') !== 'none';
务必声明背景图像为"inline",否则为。style。backgrounimage不起作用。
<script>
window.onload=function() {
var bg = document.getElementById('el').style.backgroundImage.length!=0;
alert(bg);
}
</script>
<div id='el' style="background-image: url('a.jpg');"></div>
如果你可以使用内联CSS,这就是方法。如果,由于某种原因,你不能使用它,告诉我,我会尝试找到其他的:)
我在上一个项目中使用了这个代码,并且工作完美
// Check all background images exists
var imageURLs = $('.image-container ');
imageURLs.each(function(index, element){
var imageURL = $(element).css('background-image').replace('url("', '').replace('")', '');
var img = new Image();
img.onerror = function() { $(element).css('background-image','url(/build/images/missing-image.svg)'); };
img.src = imageURL;
});
相关文章:
- 更改标记.js图像/链接表达式
- 在safari和chrome中,js图像加载产生了奇怪的结果
- 节点 js 流星 js 图像文件上传图像损坏
- 使用像素检测后无法拖动Kinetic.JS图像
- Ajax/Js图像上传器:创建重复的预览图像
- 加载一个js图像
- 平滑幻灯片.js图像预加载
- Js 图像滑块,中间垂直对齐
- 如何将文本框弹出窗口(Jquery 工具提示或类似工具)添加到画布中的 Fabric JS 图像
- 将图像上传到节点.js图像“未定义
- 自定义 JS 图像查看器在每次按下“下一步”键后加载速度较慢
- 三.js图像纹理调整大小消息
- JS图像转换不起作用
- 关于为Raphaë添加淡入淡出效果的问题;l.js图像元素
- Fabric.js图像上的圆形边界框
- 鼠标点击JS图像替换
- JS图像上传失败OSX Localhost
- 搜索js图像裁剪插件,无需jquery
- Angular JS图像数组编码麻烦
- JS:图像翻转