offsetParent是个仅仅读属性,返回近期显示指定位置的容器元素的引用。

假设元素没有指定位置,近期的元素或者根元素(标准模式下是html,怪异模式下是body)就是offsetParent。

当元素的style.display='none'时。offsetParent返回null。

因为offsetTop和offsetLeft是相对于页边距,因此offsetParent是很实用的。

    
浏览器兼容性
     在以WebKit为核心的浏览器上,假设元素是隐藏的(该元素或者上级元素style.display='none')或者元素自身style.position='fixed',那么就会返回null。

    在IE(9)上如元素style.position='fixed',该属性就会返回null。(然而display:none不影响这个浏览器)

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=UTF-8"/>
<title>offsetParent属性</title>
<style type="text/css">
div {
margin: 5px;
}
#div11 {
border: 2px solid #0000ff;
}
#div21 {
position: relative;
border: 2px solid #ffff00;
}
#div30 {
position: relative;
border: 2px solid red;
}
#div31 {
}
</style>
<script type="text/javascript">
function initPage() {
getOffsetParent('div12'); //BODY
getOffsetParent('div22');//DIV
getOffsetParent('div32');//BODY
}
function getOffsetParent(id) {
var divEl = document.getElementById(id);
var el = divEl.offsetParent;
console.log(el.nodeName);
console.log('element id is ' + el.getAttribute('id') || '');
}
</script>
</head>
<body onload="initPage()">
<div id="div11">
<div id="div12">測试1</div>
</div>
<div id="div21">
<div id="div22">測试2</div>
</div>
<div id="div30">
<div id="div31">
<div id="div32">測试3</div>
</div>
</div>
</body>
</html>




最新文章

  1. Python之基础
  2. 自定义有监听器的ScrollView
  3. 如何用 CSS 做到完全垂直居中
  4. iOS 中实现功能引导页面
  5. Fiddler高级技巧 - 映射路径到本地文件夹
  6. 解析 HTTP(HttpURLConnection getResponseCode)
  7. hdu4521-小明系列问题——小明序列(线段树区间求最值)
  8. U3d 手游优化概述
  9. [Unity3D]Unity3D游戏开发之《愤慨的小鸟》弹弓实现
  10. LED :制作一个追逐序列(霹雳游侠)
  11. es6基础系列一:let和const
  12. URL编码解决
  13. margin、padding单位百分比
  14. MinerQueue.java 访问队列
  15. Android使用okhttp 响应Post请求 使用线程
  16. 揭秘Java热部署原理及JRebel(Hotcode)的实现原理
  17. Android开发(十九)——ViewFlipper中的onClick事件和onFling事件冲突
  18. ThinkPHP框架 做个简单表单 添加数据例子__ACTION__ __SELF__
  19. 小米note3的开发者选项在哪里?怎么进入开发者模式?如何显示布局边界?
  20. XGBoost,GBDT原理详解,与lightgbm比较

热门文章

  1. java环境搭建(及安装问题“No repository found containing”解决) 并创立第一个java程序
  2. ios9-NSLayoutAnchor和UILayoutGuide实现自动布局
  3. 最容易理解的CSS的position教程——十步图解CSS的position
  4. Less文件的建立
  5. HTML CSS, JavaScript 计算器
  6. Angular——数据绑定
  7. C#——计时器的操作
  8. Java程序员2016年终总结
  9. GatewayWorker + LayIM实现即时聊天
  10. Day 11 文件和异常