js样式的属性返回空白
js style properties returns blank
我正在尝试使用JavaScript接收对象的原始CSS宽度值。但是,如果我使用:
var originalWidth = document.getElementById(<idOfObject>).style.width;
它总是返回空白。我还注意到,使用此语法访问的任何属性都将返回空白。我确信给定的元素存在,因为
alert(document.getElementById(<idOfObject>));
确实向我展示了正确的对象。
有人能帮我解决这个问题吗?
您可能试图获得在样式表中设置的值,而不是直接这样:
document.getElementById(<idOfObject>).style.width = '100px';
如果你想得到元素的宽度,你可以使用innerWidth属性:
var width = document.getElementById(<idOfObject>).offsetWidth;
前面的答案都不对。
您要查找的属性是clientWidth,但不是"样式"
document.getElementById('idOfObject').clientWidth;
这将适用于"宽度"设置与外部css,样式seccion,甚至内联style="宽度:80px"
一般注意:不要使用<div width="500">
,因为它对没有影响
上面提到的offsetWidth
是第二个最好的选择,但它没有返回css中设置的确切宽度,而是返回宽度加边界宽度
其他选项,比如innerWidth
,它可以和窗口对象一起使用,但在div上对我不起作用。
意识到style.width
无法正常工作这一奇怪的问题,浪费了我2个小时的宝贵时间:-),希望这个答案能缩短未来任何人的时间。
<div style="width:10%" id="mydiv" >
或
<div style="width:10px" id="mydiv" >
var mydiv = document.getElementById("mydiv");
var curr_width = mydiv.style.width;
alert(curr_width);
这适用于我
我试过了,可以得到值
http://jsfiddle.net/xyd95/
除非width
没有单位
http://jsfiddle.net/xyd95/1/
我相信这将适用于
function getWidth()
{
x = document.getElementById(<idOfObject>)
return x.offsetWidth;
}
相关文章:
- 为什么我的javascript地理编码函数返回空白结果
- html5 canvas toDataURL 返回空白图像
- 脚本只在jQueryAJAX中返回空白
- 试图在网站上抓取谷歌地图api生成的动态数据,但正常抓取返回空白
- AngularJS 指令范围和$compile - 返回空白的变量
- 为什么我的 JavaScript 提升的局部变量返回未定义,但提升的全局变量返回空白
- 按钮 ID 返回空白
- Canvas to DataURL()返回空白图像
- document.body.style.marginTop 在 JS 中返回空白字符串
- Javascript-element.style.left返回空白
- servlet发出的警报返回空白页面
- 联系表单返回空白页
- myDiv.style.display在主样式表中设置时返回空白
- 初始化jQuery返回空白页的数据表
- c# WebBrowser运行Javascript -返回空白页面与Javascript的结果-为什么
- Node.js -第一个请求返回空白,第二个请求返回数据
- Blob图像返回空白图像
- 为什么ExtJs 5.1中的Tagfield对于getDisplayValue()总是返回空白
- ajaxBeginForm在IE9中返回空白视图
- js样式的属性返回空白