我在IE8中的错误试图从CSS属性与背景图像元素时。
el.css({ 'background-position': "10px 10px"}); //set some
alert(el.css("background-position")); //get the value
在Opera,FF,铬,野生动物园的工作,我得到 “10px的10px的”。 不要在IE8在那里我得到了一个未定义。 我开了一个bug报告 ,但在那之前,你认为它会是一个很好的解决此问题。 我应该如何获得一些这种价值的另一种方式?
这应该帮助。
它链接到jQuery的2462票 ,这也是有趣
编辑第一个链接死, Wayback机器救援。
而且,万一archive.org曾经包了,这里是葡萄糖博客文章的内容。
jQuery的(至少至1.2.6版本)问对象的背景位置时与Internet Explorer中的问题。
$('h1:first').css('background-position');
在其它A级的浏览器,将得到的2个值(以像素或%)分别表示的x位置和元件的y位置。 在Internet Explorer(6,7),你得到了一个未定义。 问题是,IE不知道背景位置是什么,只知道其他2个呼叫:背景位置-x和背景的位置-Y。 下面是一段JavaScript代码片段来处理这个问题。
(function($) { jQuery.fn.backgroundPosition = function() { var p = $(this).css('background-position'); if(typeof(p) === 'undefined') return $(this).css('background-position-x') + ' ' + $(this).css('background-position-y'); else return p; }; })(jQuery);
现在,您可以使用此jQuery插件获取元素的背景位置:
$('h1:first').backgroundPosition();
我从来没有试过,但我发现,通过请求位置分别u得到一个结果,所以:
alert(el.css("background-position-y")); //get the y value
alert(el.css("background-position-x")); //get the x value
那么你可以将二者结合起来:)
如果您提醒的背景属性,那么你也就会得到位置。 一个极坏的解决办法,但第一个我能想到的......
alert(el.css("background")); //url(some/url/to/image.jpg) no-repeat 10px 10px
然后你不得不干脆退出该后跟“PX”的数值
我终于从解析它们:
alert(el.attr('style')); // this seems to work in all browsers