2015-02-26 2 views
1

Возможно ли с помощью javascript удалить весь стиль из таблицы стилей?Удалить класс из таблицы стилей

Пример, чтобы удалить что-то вроде этого:

.somestyle{ 
    bottom: 17px; 
    position: absolute; 
    right: 68px; 
} 

Спасибо заранее.

+8

Почему вы не удаляете класс в своем теге html? – kevpoccs

+0

Im динамически генерирует анимации, которые работают независимо друг от друга, и с этим я добавляю разные стили с разными идентификаторами – Bruno

+1

Да, это возможно. Проверьте [CSSStyleSheet API] (https://developer.mozilla.org/en-US/docs/Web/API/CSSStyleSheet). – Teemu

ответ

0

Вы можете удалить класс из тега html или добавить новый класс и переопределить эти свойства в файле css с правилом «! Important».

.newclass{ 
bottom: 0px !important; 
position: relative !important; 
right: 0px !important; 
} 
+0

Это не то, о чем я прошу :) – Bruno

0

Попробуйте jQuery. removeAttr:

$(function() { 
$('.somestyle').removeAttr('class'); 
}); 
0

Удалить класс таблицы стилей, нет.

Однако, с помощью javascript вы можете определить новый стиль, который не наследует стиль листа.

Например:

position: inherit;

1

Вы ищете DOM StyleSheet Object MethodsremoveRule(\[index\]) или deleteRule(index)

console.log(document.styleSheets); 
document.styleSheets[0].deleteRule(0); 
console.log(document.styleSheets); 

так что в вашем случае вы можете сделать что-то вроде этого

var sheetRef =document.styleSheets[0];/*index of the sheet in the markup head el*/ 
for (i=0; i<sheetRef.rules.length; i++){ 
if (sheetRef.rules[i].selectorText==".somestyle") 
    sheetRef.removeRule(i) 
} 

Надеюсь, это поможет вам.

Смежные вопросы