[RESOLVIDO] Mudar propriedade de classe com js

7 respostas
D

Pessoal preciso mudar APENAS A PROPRIEDADE de uma classe.

.centralizar{

width:995px;

}

para width:1165px com JAVASCRIPT, com document.ElementByClass(“centralizar”).width não da certo .

Alguma dica, por favor?

7 Respostas

M

Pode ser com Jquery?

porque a sintext é essa:

D

Não da MayogaX, tem que ser em javascript por que gera um conflito no chrome usando junto com callback.
Por isso tem que ser em javascript.

W

Algo desse tipo ??

http://jsfiddle.net/MMA7N/

Eu tive que definir um id para o div porque existe um getElementsByClassName, mas infelizmente nao tem suporte em browsers mais antigos. Mas testa meu exemplo e veja se eh o que vc esta querendo fazer. :slight_smile:

//Daniel

D

Oi Daniel,
O problema é que o código não tem um id,

, e não posso mexer no css, apenas posso manipula-lo com js.
Por isso que ta complicado.
getElementsByClassName também não ta funcionando.
Mais valeu.
W

daniweb:
Oi Daniel,
O problema é que o código não tem um id,

, e não posso mexer no css, apenas posso manipula-lo com js.
Por isso que ta complicado.
getElementsByClassName também não ta funcionando.
Mais valeu.

Voce pode fazer assim, nao eh uma boa pratica, mas funciona:

var b = document.getElementById("btnChange");
b.onclick = function(event) {
    var divs =document.getElementsByTagName("div"); // pega todos os divs
    for(var i=0;i<=divs.length;i++) {
        if(divs[i].className == "mydiv") { // se tem uma class especifica (no seu caso centralizar), muda a propriedade width.
            divs[i].style.width = "100px";            
        }
    }
};

Exemplo atualizado aqui : http://jsfiddle.net/MMA7N/3/

//Daniel

E

daniweb:
Pessoal preciso mudar APENAS A PROPRIEDADE de uma classe.

.centralizar{

width:995px;

}

para width:1165px com JAVASCRIPT, com document.ElementByClass(“centralizar”).width não da certo .

Alguma dica, por favor?

você escreveu o método de forma errada. o correto seria algo ± assim:

mas isso não vai adiantar no seu caso, pois altera diretamente o valor dos objetos, e não os valores da sua propriedade CSS.

D

Eu já tinha tentando: document.getElementsByClassName(“centralizar”).style.width = “1165px”; e não da certo.

Consegui da maneira como o Daniel colocou.

var divs =document.getElementsByTagName(div);

for(var i=0;i<=divs.length;i++) {

if(divs[i].className == centralizar) {

divs[i].style.width = 1165px;

}

}

};

Obrigada pela força! :smiley:

Criado 25 de fevereiro de 2013
Ultima resposta 4 de mar. de 2013
Respostas 7
Participantes 4