Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Dany X

[Resolvido] Modificar uma classe CSS com JS

Recommended Posts

Existe alguma forma de:

-Modificar uma propriedade de uma classe com JS, de forma que todos os elementos que usem ou venham a usar essa classe sofram a mudança;

Ou

-Adicionar uma folha de estilo a uma página de forma assíncrona.

?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ainda bem que não é bump, e sim resolução. Encontrei a resposta e vou deixar aqui caso alguém um dia precise:

// CSS Class change
function changecss(theClass,element,value) {
	var cssRules;
	if (document.all) {
		cssRules = 'rules';
	}else if (document.getElementById) {
		cssRules = 'cssRules';
	}
	var added = false;
	for (var S = 0; S < document.styleSheets.length; S++){
		for (var R = 0; R < document.styleSheets[S][cssRules].length; R++) {
			if (document.styleSheets[S][cssRules][R].selectorText == theClass) {
				if(document.styleSheets[S][cssRules][R].style[element]){
					document.styleSheets[S][cssRules][R].style[element] = value;
					added=true;
					break;
				}
			}
		  }
		
		if(!added){
			if(document.styleSheets[S].insertRule){
				document.styleSheets[S].insertRule(theClass+' { '+element+': '+value+'; }',document.styleSheets[S][cssRules].length);
			} else if (document.styleSheets[S].addRule) {
				document.styleSheets[S].addRule(theClass,element+': '+value+';');
			}
		}
	}
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.