我有一个样式表,它定义图像的默认宽度。当我用jQuery width()
读取图像宽度样式时,它会返回正确的宽度。当我拨打css("width")
时,它也会返回相同的宽度。但是如果样式表中没有定义宽度,函数css("width")
也会返回计算的width()
值,但不会说undefined
或auto
或类似的东西。jQuery/JavaScript的CSS(“宽度”)/检查样式是在CSS中定义?
任何想法如何我可以找出风格是否定义在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;
}
有趣的问题。我想知道你为什么需要这个? – Stefanvds 2010-11-05 11:28:43
我认为这是HTML规范中定义的行为:如果未指定,则元素的width属性将设置为实际元素宽度。整蛊,有兴趣看看是否有任何解决方案 – 2010-11-05 11:29:49
我有一个CMS有严格的图像和文字大小的定义。但是,图像大小是在css中为CMS使用的每个特殊模板中的每个图像定义的。如果管理员滚过图像,我想显示在CSS中定义的宽度和高度,以便用户知道如何裁剪/缩放图像。 – i3rutus 2010-11-05 11:34:51