我正在尝试将以下CSS属性分配给我的网页中的DIV,如果显示页面的浏览器是IE8或IE9,则可以解决background-size
属性不受支持的问题。我嗅探了浏览器,我的DIV背景图像的值是动态的,这意味着它随着选择事件的变化而变化。这是我的代码
// var msieVersion is determined earlier and this is in a nested condition
// to check if the browser is IE
if (msieVersion === 8 || msieVersion === 9) {
// use jQuery to assign the dynamic CSS property and change the BG image source
$("#container").css({ "filter": "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "',sizingMethod='scale')", "-ms-filter": "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "', sizingMethod='scale')"});
}
现在,当我使用IE开发工具检查元素时,似乎没有应用filter
。在格式选项卡中列出了以下内联样式(href我已更改,但它正确且有效):
background-image:url(http://url/img1/1.jpg); FILTER: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='http://url/img1/1.jpg',sizingMethod='scale'); msFilter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='http://url/img1/1.jpg', sizingMethod='scale')
有没有人知道如何动态分配这个属性(src
值改变,这不能在我的样式表中)或者他们能发现我做错了吗?
答案 0 :(得分:0)
在页面头部附加Style标签似乎解决了这个问题:
if (msieVersion === 8 || msieVersion === 9) {
$('head').append("<style>" +
"#container {" +
"filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "',sizingMethod='scale');" +
"-ms-filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "', sizingMethod='scale')" +
"}" +
"</style>");
}