gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 06:06:19 25 4
gpt4 key购买 nike

这有点令人抓狂。我有代码将选定元素中的当前背景图像保存到变量中,然后用它来创建 img 标签。

简单地说,以下内容适用于我测试过的所有浏览器(IE6 除外):

var bg = $('.element_selector').css('background-image');

IE6 的返回值是“none”,这是不正确的。 (在有人建议尝试“backgroundImage”而不是“background-image”之前,没有骰子。)

关于如何获得该值有什么想法吗?

更新:我忘了提及相关背景图像是由 DD_belatedPNG 处理的。 ,现在看来是罪魁祸首——如果我注释掉修复程序,我就会得到我的值(value)。如果有人知道在 png 修复后如何仍然可以获取该值,请告诉我。

最佳答案

在 IE6 中进行一些测试后,我能够使用 DD_belatedPNG 重现您的问题。和背景源。

这是我发现的。如果您在调用 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);
});
});

关于jquery - 如何使用 IE6 检索元素的当前背景图像值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5652744/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com