获取jquery中div的宽度,其宽度为auto

时间:2016-01-04 08:15:36

标签: jquery css

我想获得div 的宽度,其宽度设置为auto

我试过了:

$(".my_class").outerWidth(true);

$(".my_class").width();

两者都显示我0宽度,我不知道为什么。还有其他选择吗?

3 个答案:

答案 0 :(得分:0)

我不相信这一刻是可能的。至少不在IE以外的任何其他浏览器中。 IE实现了element.currentStyle,它表示在CSS文件中写入的样式。另一方面,其余浏览器实现window.getComputedStyle,它返回这些样式的计算值。这就是你在那里收到的,一个数值而不是自动。

解决它的唯一方法是解析document.styleSheets中的CSS声明。

References:

http://msdn.microsoft.com/en-us/library/ms535231(VS.85).aspx
https://developer.mozilla.org/en/DOM:window.getComputedStyle
https://developer.mozilla.org/en/CSS/computed_value

答案 1 :(得分:0)

我添加了一个HTML DOM方法(替代方法)来识别元素的宽度。

var x = document.getElementsByClassName(".my_class"); //Fetching the div element
alert(x[0].style.width); //Fetching the width of the selected div element.

我假设只有1个div与" my_class "作为它的类名。如果有很多,则必须在检索到的列表上进行某些处理以识别特定元素。

这也可能不适合您,作为最佳实践,应确定问题的根本原因。

答案 2 :(得分:0)

使用.clientWidth

cur_element = document.getElementById('my_div'); console.log('width: ' + cur_element.clientWidth);