关于获取div等的宽度、高度

Luohui109 2012-09-22 04:52:22

.text
{
position: absolute;
top: 250px;
left: 500px;
width: 300px;
height: 160px;
}


var _alertPanel = document.createElement("div");
_alertPanel.setAttribute("id", this.alertLayerID);
//_alertPanel.setAttribute("class", "drag"); /*W3C*/
_alertPanel.setAttribute("className", "drag"); /*IE*/===》为什么 alert(_alertPanel.offsetHeight)的高度 不等于 160px???
//_alertPanel.style.cssText = "height: 160px;";===》alert(_alertPanel.offsetHeight)的高度就是160px;
document.body.appendChild(_alertPanel
alert(_alertPanel.offsetHeight);


...全文
225 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Luohui109 2012-09-23
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]

IE、Opera 认为 offsetHeight = clientHeight + 滚动条 + 边框。
NS、FF 认为 offsetHeight 是网页内容实际高度,可以小于 clientHeight。
[/Quote]


IE、Opera 认为 offsetHeight = clientHeight + 滚动条 + 边框。===>那么alert(_alertPanel.offsetHeight)的高度应该大于160才对..现在是小很多!
Luohui109 2012-09-23
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]
_alertPanel.setAttribute("class", "drag");

什么浏览器都不会使用

_alertPanel.setAttribute("className", "drag"); 这种方法,这种方法是错误的写法
[/Quote]



再请教,怎么样才是正确的写法呢?
dielianxian 2012-09-23
  • 打赏
  • 举报
回复
IE、Opera 认为 offsetHeight = clientHeight + 滚动条 + 边框。   
NS、FF 认为 offsetHeight 是网页内容实际高度,可以小于 clientHeight。
孟子E章 2012-09-23
  • 打赏
  • 举报
回复
_alertPanel.setAttribute("class", "drag");

什么浏览器都不会使用

_alertPanel.setAttribute("className", "drag"); 这种方法,这种方法是错误的写法
Luohui109 2012-09-23
  • 打赏
  • 举报
回复
针对问题的纠正如下:

.drag
{
position: absolute;
top: 250px;
left: 500px;
width: 300px;
height: 160px;
}


var _alertPanel = document.createElement("div");
_alertPanel.setAttribute("id", this.alertLayerID);
//_alertPanel.setAttribute("class", "drag"); /*W3C*/
_alertPanel.setAttribute("className", "drag"); /*IE*/===》为什么 alert(_alertPanel.offsetHeight)的高度 不等于 160px???
//_alertPanel.style.cssText = "height: 160px;";===》alert(_alertPanel.offsetHeight)的高度就是160px;
document.body.appendChild(_alertPanel
alert(_alertPanel.offsetHeight);
c495459477 2012-09-23
  • 打赏
  • 举报
回复
javascript 的写法。

_alertPanel.className = "drag"

------------------------------

_alertPanel.setAttribute("className", "drag"); 这种方法,这种方法是错误的写法




beyond_me21 2012-09-22
  • 打赏
  • 举报
回复
_alertPanel.setAttribute("className", "text");

62,243

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧