微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用IE6检索元素的当前背景图像值?

如何解决如何使用IE6检索元素的当前背景图像值?

| 这有点发疯。我有将当前背景图像从选定元素保存到变量中的代码,然后使用该代码创建img标签。 简而言之,以下各项在我测试过的所有浏览器中都适用,但IE6除外:
var bg = $(\'.element_selector\').css(\'background-image\');
IE6的返回值为\'none \',这是不正确的。 (在有人建议尝试使用\'backgroundImage \'而不是\'background-image \'之前,没有骰子。) 关于如何获得该价值的任何想法? 更新:我忘了提到有问题的背景图像是由DD_belatedpnG处理的,现在看来是罪魁祸首-如果我注释掉此修复程序,我将获得我的价值。如果有人临时了解png修复程序后仍如何获取该值,请告诉我。     

解决方法

在IE6中进行一些测试后,我能够重现DD_belatedPNG和背景src的问题。 这就是我发现的东西。如果在调用
DD_belatedPNG.fix(\'[selector]\');
之前设置
background-image
变量,则将获得所需的结果。如果事后例如在
click
事件中进行设置,则将获得
\"none\"
的值。 另外,DD_belatedPNG将图像元素添加到包含背景图像的页面(类别为
DD_belatedPNG_sizeFinder
),因此您可以1)重复使用,2)复制或3)从该元素中获取
src
属性值。 这是我的测试代码: CSS:
#myElement
{
    width: 515px;
    height: 341px;
    margin: 100px auto;
    background: #f00 url(\'http://www.chismbrothers.com/images/woodfloors.png\') no-repeat 0 0;
}
HTML:
<div id=\"myElement\"></div>


<div id=\"test1\"></div>
<div id=\"test2\"></div>
<div id=\"test3\"></div>
<div id=\"test4\"></div>
jQuery的:
$(document).ready(function() {
    // Works as expected
    var bg = $(\'#myElement\').css(\'background-image\');
    $(\'#test1\').text(\"pre png fix: \" + bg);

    DD_belatedPNG.fix(\'#myElement\');

    $(\'#myElement\').click(function() {
        var bg = $(this).css(\'background-image\');
        var bgAll = $(this).css(\'background\');

        // This yields values of \'none\' for bg and \'undefined\' for bgAll
        $(\'#test2\').html(\"post png fix: \" + bg + \"<br />bg: \" + bgAll);

        // DD_belatedPNG creates an image element on the page with a class of 
        // \'DD_belatedPNG_sizeFinder\' which can be used to get the image src
        $(\'#test3\').html(\'dd_belatedpng_sizeFinder: \' + $(\'.DD_belatedPNG_sizeFinder\').attr(\"src\"));

        // Perhaps reapplying \'zoom\' css will reapply the BG values?
        $(this).css({ zoom: 0 }).css({ zoom: 1 });
        // Set values again.
        bg = $(this).css(\'background-image\');
        bgAll = $(this).css(\'background\');
        // No luck...same result as #test2
         $(\'#test4\').html(\"post png fix: \" + bg + \"<br />bg: \" + bgAll);
    });
});
    ,你试过十英镑吗? 您确定元素正确吗?     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。