Der*_*k H 16 javascript css jquery dom computed-style
我正在使用jQuery检索元素的宽度,如果我可以指示是否指定了明确的宽度(和高度),我会更喜欢它.
<div id="test"></div>
<script type="text/javascript">
$(function() { alert($('#test').css('width')); });
</script>
Run Code Online (Sandbox Code Playgroud)
这将根据客户端屏幕上占用的像素数来警告div的隐式宽度.有没有办法,如果宽度丢失或设置为width: auto可以使用jQuery验证?
也就是说,代替上面的示例返回一个整数,它将返回auto或undefined.或者,是否存在isAuto功能的等价物?
我不相信这一刻是可能的.至少不在IE以外的任何其他浏览器中.IE实现element.currentStyle代表它们在CSS文件中编写的样式.另一方面,其余的浏览器实现window.getComputedStyle了返回这些样式的计算值.这就是你在那里收到的,一个数值而不是auto.
解决它的唯一方法是解析CSS声明document.styleSheets.
参考文献:
这将在绝对值上获得字符串"auto"或"180px".
$('element').prop('style').width
Run Code Online (Sandbox Code Playgroud)
宽度或
$('element').prop('style').height
Run Code Online (Sandbox Code Playgroud)
高度.