0

试图让我的网站在 IE6 中运行,但遇到一些我需要做的运行时 css 问题。

我已经尝试了这两个:

$.rule('#post'+ i + '{ visibility:hidden;}').appendTo('style');

-

var postStyle = document.createElement('style');
postStyle.type = 'text/css';    
postStyle.innerHTML = '#post'+ i + '{ visibility:hidden;}';
document.getElementsByTagName('head'[0].appendChild(postStyle);

适用于其他浏览器,但不适用于 IE。我收到此错误:

“对象不支持此属性或方法”

有任何想法吗?

4

1 回答 1

0

在 IE 中,你必须这样做:

postStyle.styleSheet.cssText = whatever;

我通常使用try/catch设置完成此操作。

$('head').append($('<style/>', { id: "replaced-colors" }));

try {
  $('#replaced-colors').html(replaced);
}
catch (_ie) {
  $('#replaced-colors')[0].styleSheet.cssText = replaced;
}

作为一个现实生活中的例子。

于 2012-06-11T13:11:31.770 回答