Javascript 为什么div DOM对象没有高度和宽度属性

Javascript 为什么div DOM对象没有高度和宽度属性,javascript,html,css,Javascript,Html,Css,我是一个初学者。这可能很简单,但我试图找到答案,但没有成功。我的问题是为什么div对象的width和height属性返回undefined,而它们显然都是100px 说明了如何获取.offsetWidth属性。但据我所知,它与.width并非100%相同 window.onload=function(){ var测试=document.getElementById(“测试”); test.addEventListener(“单击”,选择); 功能选择(e){ var elementID=e.t

我是一个初学者。这可能很简单,但我试图找到答案,但没有成功。我的问题是为什么
div
对象的
width
height
属性返回
undefined
,而它们显然都是100px

说明了如何获取
.offsetWidth
属性。但据我所知,它与
.width
并非100%相同

window.onload=function(){
var测试=document.getElementById(“测试”);
test.addEventListener(“单击”,选择);
功能选择(e){
var elementID=e.target.id;
var element=document.getElementById(elementID);
var-width=element.width;
控制台日志(元素);
控制台。原木(宽度);
}
}
div#测试{
位置:绝对位置;
高度:100px;
宽度:100px;
背景色:黑色;
}

我想你需要和
clientHeight
我想你需要和
clientHeight
使用
offsetWidth
offsetHeight

var test=document.getElementById(“test”);
test.addEventListener(“单击”,选择);
功能选择(e){
var elementID=e.target.id;
var element=document.getElementById(elementID);
var offsetWidth=element.offsetWidth;
var positionInfo=element.getBoundingClientRect();
变量高度=位置信息高度;
变量宽度=位置信息宽度;
console.log('element',element);
console.log('offsetWidth',offsetWidth);
console.log('宽度',宽度);
控制台日志(“高度”,高度);
}
div#测试{
位置:绝对位置;
高度:100px;
宽度:100px;
背景色:黑色;
}

测试

使用
offsetWidth
offsetHeight

var test=document.getElementById(“test”);
test.addEventListener(“单击”,选择);
功能选择(e){
var elementID=e.target.id;
var element=document.getElementById(elementID);
var offsetWidth=element.offsetWidth;
var positionInfo=element.getBoundingClientRect();
变量高度=位置信息高度;
变量宽度=位置信息宽度;
console.log('element',element);
console.log('offsetWidth',offsetWidth);
console.log('宽度',宽度);
控制台日志(“高度”,高度);
}
div#测试{
位置:绝对位置;
高度:100px;
宽度:100px;
背景色:黑色;
}

测试

element.style.width
您需要使用计算样式来获得由styleBlack Beard定义的宽度,我添加了第二个重复链接,它可能会显示您的外观for@TemaniAfif如果关闭它,请确保引用了正确的答案。在这种情况下,正如我猜你在评论中所说的,很可能是
getComputedStyle
OP要求的…我刚才添加到dupe链接@LGSon中的内容我的评论是针对tyr添加的评论:)。。。他得到了提升,但这是错误的,因为我们需要计算样式来获得CSS定义的样式…而且dup已经被建议了,当我看到它时,我发现它适合他的需要
元素.style.width
你需要使用计算样式来获得styleBlack Beard定义的宽度,我添加了第二个dup链接,这可能会显示出你在看什么for@TemaniAfif如果关闭它,请确保引用了正确的答案。在这种情况下,正如我猜你在评论中所说的,很可能是
getComputedStyle
OP要求的…我刚才添加到dupe链接@LGSon中的内容我的评论是针对tyr添加的评论:)。。。他获得了投票权,但这是错误的,因为我们需要计算样式来获得CSS定义的样式……而且dup已经被建议过了,当我看到它时,我发现它对他的需要是很好的
offsetWidth
,与CSS中的
width
相同。我的意思是,不仅是在我的情况下,而且在一般情况下,阅读@BlackBeardAs,我希望它不是100%相同。我只需要简单的
宽度
。有没有可能通过JS获得它?我更改了代码,检查它@BlackBeardIs
offsetWidth
与CSS中的
width
相同。我的意思是,不仅是在我的情况下,而且在一般情况下,阅读@BlackBeardAs,我希望它不是100%相同。我只需要简单的
宽度
。有没有可能通过JS获得它?我更改代码,在@BlackBeard检查它