My Little Blog Да, это блог

Удаление правила из тега style

Добавить правило в элемент <style> при помощи JavaScript довольно просто. А вот удалить определенное правило из множества - задачка посложнее. Как-то понадобилось мне ее решить, и я сделал это. Но, увы, решение мне вовсе не понадобилось в силу ряда причин. Так как жаль выкидывать в мусорную корзину полезные данные, запишу код в бложик. Нижеприведенный код ищет селектор span#delete_me и (если находит) удаляет все правило.


HTML и CSS:


<style id="ololo_css" type="text/css">
	a:link {color:blue;}
	span#delete_me {color:green;}
	a:hover {color:red;}
</style>


JavaScript:


function del_rule() {

var styles = document.getElementById("ololo_css").sheet.cssRules;
var rule4check = "span#delete_me";

for (var i = 0; i < styles.length; i++) {
	if (styles[i].cssText.search(rule4check) != -1) {
		//console.log(styles[i].cssText); // содержимое правила
		document.getElementById("ololo_css").sheet.deleteRule(i);
	}
}

} // конец del_rule()


Вот.