我想获得div 的宽度,其宽度设置为auto
我试过了:
$(".my_class").outerWidth(true);
$(".my_class").width();
两者都显示我0宽度,我不知道为什么。还有其他选择吗?
答案 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)
cur_element = document.getElementById('my_div');
console.log('width: ' + cur_element.clientWidth);