所以我正在编写一个 jQuery 插件来应用视网膜图形。我需要选择一个元素(如果它有背景图像或源图像),然后选择其中的每个元素(如果它有背景图像或源图像)。
这是我的插件:
//RetinizeJS
(function($){
$.fn.retinize = function(){
$(this).filter(function(){
if (this.currentStyle)
return this.currentStyle['backgroundImage'] !== 'none';
else if (window.getComputedStyle)
return document.defaultView.getComputedStyle(this,null)
.getPropertyValue('background-image') !== 'none';
}).addClass('bg_found');
};
})(jQuery);
$('body').retinize();
如果它具有背景图像,则需要返回 body 元素,如果它们是<img src="" />
或如果它们具有 CSSbackground-image
属性,则需要返回其中的所有元素。
我怎样才能做到这一点?
更新晚上 9 点 13 分:
这不会将类 HAS_IMAGE 添加到任何东西,<img>
如果我删除它仍然不会选择元素|| ($this.css('backgroundImage') !== 'none');
。
//RetinizeJS
(function($){
$.fn.retinize = function(){
$this = $(this);
$this.find('*').andSelf().filter(function(){
return $this.is('img') || ($this.css('backgroundImage') !== 'none');
}).addClass('HAS_IMAGE');
};
})(jQuery);
$('body').retinize()