如何使用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);
    });
});
    ,你试过十英镑吗? 您确定元素正确吗?     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...