Eu tenho um div:
<div class="test" id="someElement" style="position: absolute"></div>
Existe alguma maneira de verificar se determinado elemento:
$("#someElement")
tem uma classe particular (no meu caso, "teste").
Como alternativa, existe uma maneira de verificar se um elemento tem um determinado estilo? Neste exemplo, gostaria de saber se o elemento tem " position: absolute
".
Muito obrigado!
javascript
jquery
css
0100110010101
fonte
fonte
Respostas:
if($('#someElement').hasClass('test')) { ... do something ... } else { ... do something else ... }
fonte
Estilos CSS são pares de valores-chave, não apenas "tags". Por padrão, cada elemento tem um conjunto completo de estilos CSS atribuídos a ele, a maioria deles está implicitamente usando os padrões do navegador e alguns deles são redefinidos explicitamente nas folhas de estilo CSS.
Para obter o valor atribuído a uma entrada CSS específica de um elemento e compará-lo:
if ($('#yourElement').css('position') == 'absolute') { // true }
Se você não redefiniu o estilo, obterá o padrão do navegador para aquele elemento específico.
fonte
if ($("element class or id name").css("property") == "value") { your code.... }
fonte
Ou, se você precisar acessar o elemento que tem essa propriedade e ele não usa um id, você pode seguir este caminho:
$("img").each(function () { if ($(this).css("float") == "left") { $(this).addClass("left"); } if ($(this).css("float") == "right") { $(this).addClass("right"); } })
fonte
eu encontrei uma solução:
$("#someElement")[0].className.match("test")
mas de alguma forma eu acredito que existe uma maneira melhor!
fonte
A pergunta está pedindo duas coisas diferentes:
A segunda pergunta já foi respondida. Para o primeiro, eu faria desta forma:
if($("#someElement").is(".test")){ // Has class test assigned, eventually combined with other classes } else{ // Does not have it }
fonte