Eu sei que posso definir um valor CSS através do JavaScript, como:
document.getElementById('image_1').style.top = '100px';
Mas posso obter um valor de estilo específico atual? Eu li onde posso obter o estilo inteiro para o elemento, mas não quero analisar a cadeia inteira, se não precisar.
javascript
css
Michael Paul
fonte
fonte
var top = document.getElementById('image_1').style.top;
pode querer reformular-lo se isso não é o que você querRespostas:
Você pode usar
getComputedStyle()
.jsFiddle .
fonte
A propriedade element.style permite que você saiba apenas as propriedades CSS definidas como embutidas nesse elemento (programaticamente ou definidas no atributo style do elemento); você deve obter o estilo calculado.
Não é tão fácil fazer isso de uma maneira cruzada do navegador, o IE tem seu próprio caminho, através da propriedade element.currentStyle, e a maneira padrão do DOM Nível 2, implementada por outros navegadores, é através do método document.defaultView.getComputedStyle.
As duas maneiras têm diferenças, por exemplo, a propriedade IE element.currentStyle espera que você acesse os nomes das propriedades CSS compostas por duas ou mais palavras em camelCase (por exemplo, maxHeight, fontSize, backgroundColor etc.), a maneira padrão espera as propriedades com o palavras separadas por traços (por exemplo, altura máxima, tamanho da fonte, cor do plano de fundo, etc.). ......
Referência principal stackoverflow
fonte
Use o seguinte. Isso me ajudou.
Veja também Obter estilos .
fonte
Solução entre navegadores para verificar valores CSS sem manipulação de DOM:
Uso:
Versão higienizada (força a entrada do seletor em minúsculas e permite o caso de uso sem levar ".")
fonte
Se você o definir programaticamente, poderá chamá-lo como uma variável (ou seja
document.getElementById('image_1').style.top
). Caso contrário, você sempre poderá usar o jQuery:fonte
Se você gosta de bibliotecas, por que não MyLibrary e getStyle .
O método jQuery css está com o nome errado, CSS é apenas uma maneira de definir estilos e não representa necessariamente os valores reais das propriedades de estilo de um elemento.
fonte
Em 2020
Você pode usar computedStyleMap ()
A resposta é válida, mas às vezes você precisa verificar qual unidade ela retorna, pode obtê-la sem nenhuma
slice()
ousubstring()
string.fonte
Por uma questão de segurança, convém verificar se o elemento existe antes de tentar lê-lo. Se não existir, seu código emitirá uma exceção, que interromperá a execução no restante do JavaScript e potencialmente exibirá uma mensagem de erro para o usuário - nada bom. Você deseja poder falhar normalmente.
fonte
A solução de navegador cruzado sem a manipulação de DOM fornecida acima não funciona porque fornece a primeira regra de correspondência, não a última. A última regra correspondente é a que se aplica. Aqui está uma versão de trabalho:
No entanto, essa pesquisa simples não funcionará no caso de seletores complexos.
fonte