关于获取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);


...全文
197 7 打赏 收藏 转发到动态 举报
写回复
用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");
1. HTML对象获取问题 3 2. const问题 3 3. event.x与event.y问题 3 4. window.location.href问题 3 5. frame问题 3 6. 模态和非模态窗口问题 3 7. firefox与IE的父元素(parentElement)的区别 3 8. document.formName.item(”itemName”) 问题 3 9. 集合类对象问题 3 10. 自定义属性问题 3 11. input.type属性问题 3 12. event.srcElement问题 3 13. body载入问题 3 14. 事件委托方法 3 15. Table操作问题 3 16. 对象宽高赋值问题 3 Ø CSS 3 1. cursor:hand VS cursor:pointer 3 2. innerText在IE中能正常工作,但在FireFox中却不行. 3 3. CSS透明 3 4. css中的width和padding 3 5. FF和IE BOX模型解释不一致导致相差2px 3 6. IE5 和IE6的BOX解释不一致 3 7. ul和ol列表缩进问题 3 8. 元素水平居中问题 3 9. Div的垂直居中问题 3 10. margin加倍的问题 3 11. IE与宽度高度的问题 3 12. 页面的最小宽度 3 13. DIV浮动IE文本产生3象素的bug 3 14. IE捉迷藏的问题 3 15. float的div闭合;清除浮动;自适应高度 3 16. 高度不适应 3 17. IE6下图片下有空隙产生 3 18. 对齐文本与文本输入框 3 19. LI中内容超过长度后以省略号显示 3 20. 为什么web标准中IE无法设置滚动条颜色了 3 21. 为什么无法定义1px左右高度的容器 3 22. 链接(a标签)的边框与背景 3 23. 超链接访问过后hover样式就不出现的问题 3 24. FORM标签 3 25. 属性选择器(这个不能算是兼容,是隐藏css的一个bug) 3 26. 为什么FF下文本无法撑开容器的高度 3

62,041

社区成员

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

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

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

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