元素.parentNode : 只读 属性 当前节点的父级节点。
<script>
window.onload = function() {
var aA = document.getElementsByTagName('a');
for (var i=0; i<aA.length; i++) {
aA[i].onclick = function() {
/*
元素.parentNode : 只读 属性 当前节点的父级节点
*/
this.parentNode.style.display = 'none';
}
}
}
</script>
</head>
<body>
<ul id="ul1">
<li>11111 <a href="javascript:;">隐藏</a></li>
<li>22222 <a href="javascript:;">隐藏</a></li>
<li>33333 <a href="javascript:;">隐藏</a></li>
<li>44444 <a href="javascript:;">隐藏</a></li>
</ul>
</body>
元素.offsetParent : 只读 属性 离当前元素最近的一个有定位属性的父节点
如果没有定位父级,默认是body
alert( oDiv3.offsetParent.id );
ie7以下,如果当前元素没有定位默认是body,如果有定位则是html
#div2 {background: green; position:relative;}
alert( oDiv3.offsetParent.tagName );
ie7以下,如果当前元素的某个父级触发了layout,那么offsetParent就会被指向到这个触发了layout特性的父节点上
#div2 {background: green; zoom: 1;}
alert( oDiv3.offsetParent.id );
//layout
/*alert( document.getElementById('div2').currentStyle.hasLayout );*/
示例代码:
<style>
div {padding: 40px 50px;}
#div1 {background: red;}
#div2 {background: green;}
#div3 {background: orange;}
</style>
<script>
window.onload = function() {
var oDiv3 = document.getElementById('div3');
//parentNode : 父节点
//alert( oDiv3.parentNode.id );
//layout
/*alert( document.getElementById('div2').currentStyle.hasLayout );*/
alert( oDiv3.offsetParent.id );
}
</script>
</head>
<body id="body1">
<div id="div1">
<div id="div2">
<div id="div3"></div>
</div>
</div>
</body>