jQuery / Javascript css(“width”)/检查样式是否在css中定义?

前端之家收集整理的这篇文章主要介绍了jQuery / Javascript css(“width”)/检查样式是否在css中定义?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个样式表定义图像的默认宽度.当我用jQuery width()读取图像宽度样式时,它返回正确的宽度.当我调用css(“width”)时,它也返回相同的宽度.但是,如果在样式表中没有定义宽度,则函数css(“width”)也将返回计算的width()值,但不会说未定义或自动或类似的东西.

任何想法如何才能找出CSS样式是否被定义?

解决方案适用于我跨浏览器.感谢大家帮忙:

$(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;
}

解决方法

我有一个解决方案的想法可能会工作.

在所有其他样式表之前定义一个名为default_width的类:

.default_width { width: 1787px }  
/* An arbitrary value unlikely to be an image's width,but not too large
   in case the browser reserves memory for it */

以确定图像是否具有宽度设置:

克隆它在jQuery中:element = $(“#img”).clone()
给克隆元素default_width类:element.addClass(“default_width”)
>如果它的宽度是1787px,它没有宽度设置 – 或者,当然是1787px宽,这是唯一的情况下,这种方法将无法工作.

我不完全确定这是否会起作用,但可能.编辑:正如@bobince在注释中指出的那样,您需要将元素插入到DOM中才能正确应用所有类,以便进行正确的宽度计算.

猜你在找的jQuery相关文章