Tengo una hoja de estilo que define el ancho predeterminado para las imágenes. Cuando leo el estilo de ancho de imagen con jQuery width()
, devuelve el ancho correcto. También devuelve el mismo ancho cuando llamo al css("width")
. Pero si no hay un ancho definido en la hoja de estilo, la función css("width")
también devolverá el valor width()
computado, pero no dirá undefined
o auto
o algo así.jQuery/Javascript css ("ancho")/verificar si el estilo está definido en css?
¿Alguna idea de cómo podría averiguar si el estilo está o no definido en el código CSS?
La solución funciona para mí en el navegador. Gracias a todos por ayudar:
$(this).addClass("default_width_check");
var width = ($(this).width() == 12345) ? 'none-defined' : $(this).width();
var height = ($(this).height() == 12345) ? 'none-defined' : $(this).height();
$(this).removeClass("default_width_check");
.default_width_check {
width: 12345;
}
pregunta interesante. Me pregunto por qué necesitas esto? – Stefanvds
Creo que este es el comportamiento definido en la especificación HTML: el atributo de ancho del elemento se establece en el ancho real del elemento si no se especifica. Difícil, interesado en ver si aparece alguna solución –
Tengo un CMS que tiene definiciones estrictas para el tamaño de la imagen y el texto. Sin embargo, el tamaño de la imagen se define en CSS para cada imagen en cada plantilla especial utilizada por el CMS. Si el administrador rueda sobre la imagen, quiero mostrar el ancho y la altura definidos en el CSS para que el usuario sepa cómo recortar/escalar la imagen. – i3rutus