Tengo un div:
<div class="test" id="someElement" style="position: absolute"></div>
¿Hay alguna forma de verificar si el elemento determinado:
$("#someElement")
tiene una clase particular (en mi caso, "prueba").
Alternativamente, ¿hay alguna forma de comprobar que en element tiene un estilo determinado? En este ejemplo, me gustaría saber si el elemento tiene " position: absolute
".
¡Muchas gracias!
javascript
jquery
css
0100110010101
fuente
fuente
Respuestas:
if($('#someElement').hasClass('test')) { ... do something ... } else { ... do something else ... }
fuente
Los estilos CSS son pares clave-valor, no solo "etiquetas". De forma predeterminada, cada elemento tiene un conjunto completo de estilos CSS asignados, la mayoría de ellos utiliza implícitamente los valores predeterminados del navegador y algunos de ellos se redefinen explícitamente en las hojas de estilo CSS.
Para obtener el valor asignado a una entrada CSS particular de un elemento y compararlo:
if ($('#yourElement').css('position') == 'absolute') { // true }
Si no redefinió el estilo, obtendrá el navegador predeterminado para ese elemento en particular.
fuente
if ($("element class or id name").css("property") == "value") { your code.... }
fuente
O, si necesita acceder al elemento que tiene esa propiedad y no usa una identificación, puede seguir esta ruta:
$("img").each(function () { if ($(this).css("float") == "left") { $(this).addClass("left"); } if ($(this).css("float") == "right") { $(this).addClass("right"); } })
fuente
he encontrado una solución:
$("#someElement")[0].className.match("test")
¡Pero de alguna manera creo que hay una mejor manera!
fuente
La pregunta es pedir dos cosas diferentes:
La segunda pregunta ya ha sido respondida. Para el primero, lo haría de esta manera:
if($("#someElement").is(".test")){ // Has class test assigned, eventually combined with other classes } else{ // Does not have it }
fuente