У меня проблема с динамическим манипулированием стилем в IE7 (IE8 в порядке). Используя javascript мне нужно добавить и удалить узел с определением файла CSS.
Добавление и удаление узла как потомка прекрасно работает в Firefox. К сожалению, после удаления его в IE, хотя тег удаляется правильно, стиль страницы не обновляется.
В приведенном ниже примере простой CSS (делает фон зеленым) добавляется и удаляется. После удаления в FF фон становится по умолчанию, но в IE остается зеленым.
index.html
<html>
<head>
</head>
<script language="javascript" type="text/javascript">
var node;
function append(){
var headID = document.getElementsByTagName("head")[0];
node = document.createElement('link');
node.type = 'text/css';
node.rel = 'stylesheet';
node.href = "s.css";
node.media = 'screen';
headID.appendChild(node);
}
function remove(){
var headID = document.getElementsByTagName("head")[0];
headID.removeChild(node);
}
</script>
<body>
<div onClick="append();">
add
</div>
<div onClick="remove();">
remove
</div>
</body>
</html>
И таблица стилей:
s.css
body { background-color:#00CC33 }
Вот живой пример: http://rlab.pl/dynamic-style/
Есть ли способ заставить его работать?