如何使用javascript获取宽度的值

如何使用javascript获取宽度的值,javascript,Javascript,我把这个放在头部 var d = parseInt(document.getElementById('test').style.width); alert(d); 但是输出是NaN 如何获取该值?已更新 在阅读您的问题时,您似乎正在加载DOM之前执行head部分中的代码,请尝试将脚本放在页面底部,就在之前 已更新 在阅读您的问题时,您似乎正在加载DOM之前执行head部分中的代码,请尝试将脚本放在页面底部,就在之前 UDPATED 我认为问题在于,您已经将代码放在文档的中,这意味着它正在立

我把这个放在头部

var d = parseInt(document.getElementById('test').style.width);
alert(d);
但是输出是
NaN


如何获取该值?

已更新

在阅读您的问题时,您似乎正在加载DOM之前执行head部分中的代码,请尝试将脚本放在页面底部,就在
之前



已更新

在阅读您的问题时,您似乎正在加载DOM之前执行head部分中的代码,请尝试将脚本放在页面底部,就在
之前



UDPATED

我认为问题在于,您已经将代码放在文档的
中,这意味着它正在立即查找
test
元素。不幸的是,
test
元素尚未创建,因为您的浏览器仍在解析


因此,请确保将代码放在
测试
元素之后,并使用
.offsetWidth
.clientWidth
,它应该可以正常工作。

UDPATED

我认为问题在于,您已经将代码放在文档的
中,这意味着它正在立即查找
test
元素。不幸的是,
test
元素尚未创建,因为您的浏览器仍在解析


因此,请确保将代码放在
test
元素之后,并使用
.offsetWidth
.clientWidth
,它应该可以正常工作。

style.width很可能只获得内联样式,您有三个选项:

您可以使用
.clientWidth
.offsetWidth
或添加
内联样式


请参见我的示例:

style.width很可能只获得内联样式,您有三个选项:

您可以使用
.clientWidth
.offsetWidth
或添加
内联样式

参见我的示例:

只需使用

window.onload=function(){
    alert(document.getElementById("test").clientWidth)
}

这应该可以解决问题。

只要使用

window.onload=function(){
    alert(document.getElementById("test").clientWidth)
}


这应该就够了。

我应该告诉他()的事吗?事实上,我的意思是()不应该在那里。@Steve你在说什么…?:我应该告诉他关于()的事吗?事实上,我的意思是()不应该在那里。@Steve你在说什么…?:p这意味着您的目标元素上没有ID属性。将
id='test'
添加到您试图获取宽度的元素中。如果id在body标记上,您可能需要使用
.clientWidth
。好了,您的思路是正确的,它可能只是一个很小的东西……document.getElementById中的大小写是否正确?你能取一个不同的元素吗?尝试更改
测试
元素的
.style.background='red'
,以查看是否找到了它。这意味着您的目标元素上没有ID属性。将
id='test'
添加到您试图获取宽度的元素中。如果id在body标记上,您可能需要使用
.clientWidth
。好了,您的思路是正确的,它可能只是一个很小的东西……document.getElementById中的大小写是否正确?你能取一个不同的元素吗?尝试更改
test
元素的
.style.background='red'
,看看是否找到了它。你说你把它放在HEAD部分了吗?您是否在加载文档后执行该代码?尝试将该代码放在body标记的底部,就在与您的问题本身不相关之前,但是调用
parseInt()
,而不在(可选)第二个参数中指定基数,这意味着您在解析用户输入值(或任何其他可能有前导零的值)时可能会大吃一惊。我发现总是包含它是最容易的,例如,
parseInt(someValue,10)
。你说你把它放在HEAD部分了?您是否在加载文档后执行该代码?尝试将该代码放在body标记的底部,就在与您的问题本身不相关之前,但是调用
parseInt()
,而不在(可选)第二个参数中指定基数,这意味着您在解析用户输入值(或任何其他可能有前导零的值)时可能会大吃一惊。我发现总是包含它是最容易的,例如
parseInt(someValue,10)