• js之parentElement属性


    <html>
    <head>
    </head>
    <body>
    	<form name="a ">
    		<table name="b ">
    			<tr name="c ">
    				<td name="d "><select name="e "
    					onchange="xx(this.parentElement.parentElement.parentElement.parentElement.parentElement.name) ">
    						<option>1</option>
    						<option>2</option>
    						<option>3</option>
    						<option>4</option>
    				</select></td>
    				<td> </td>
    
    			</tr>
    			<tr> 
    			</tr>
    		</table>
    	</form>
    </body>
    <script language="javascript" type="text/javascript">
    	function xx(a) {
    		alert(a);
    	}
    </script>
    </html>
    

    注意parentELement第一个时返回的是当前元素对象 

    结果输出a,这个测试是在IE下面进行的,firefox无效

    http://www.w3school.com.cn/css/pr_class_position.asp

    先是 parentElement 属性,这个属性好理解,就是在 DOM 层次结构定义的上下级关系,如果元素A包含元素B,那么元素B就可以通过 parentElement 属性来获取元素A。
    这里主要说的是 offsetParent 属性,这个属性在 MSDN 的文档中也没有解释清楚,这就让人更难理解这个属性。 这几天在网上找了些资料看看,再加上自己的一些测试,对此属性有了那么一点的了解,在这里总结一下。
    要明白 offsetParent 属性,要先明白“已定位元素” 这个名字,所谓“已定位元素”就是指给元素设置了 position 属性的样式,并且 position 样式属性的值等于 absolute、relative、fixed 之一的元素。
    在使用 offsetParent 属性获取父级对象时有以下两种情况:
        1、元素本身已经定位
            如果元素本身已经定位,那么 offsetParent 属性返回此元素已定位父级元素,如没有已定位的父级元素,则返回 BODY 对象,例如:
    复制代码 代码如下:
    <body>
    <p>
    <div>
    <span id="obj1" style="position:absolute"></span>
    </div>
    <div id="pObj1" style="position:absolute">
    <span id="obj2" style="position:absolute"></span>
    </div>
    </p>
    </body>

        obj1.offsetParent 返回 BODY 对象
        obj2.offsetParent 返回 pObj1 对象
        2、元素没有定位
            如果元素没有定位, offsetParent 不但会找已经定位的父级元素而且还会查找类型为 TD 和 TABLE 的父级元素,只要找到这三种父级元素的其中任何一种元素将返回此元素,否则返回 BODY 对象,例如:
    复制代码 代码如下:
    <table width="500" border="0">
    <tr>
    <td id="td1">
    <div id="pObj1">
    <span id="obj1"></span>
    </div>
    </td>
    </tr>
    <tr>
    <td>
    <div id="pObj2" style="position:relative">
    <span id="obj2"></span>
    </div>
    </td>
    </tr>
    </table>

        obj1.offsetParent 返回 td1 对象
        obj2.offsetParent 返回 pObj2 对象
    在 DOM 元素的属性里,还有 parentNode 这个属性,其实这个属性跟 parentElement 属性是一个意思,parentElement 属性是 IE 特有的,W3C 标准是使用 parentNode 属性,还有 children 和 childNodes, children 是 IE 特有的, childNodes 被其他浏览支持
    详细出处参考:http://www.jb51.net/article/22705.htm

  • 相关阅读:
    HDU 5444 Elven Postman (2015 ACM/ICPC Asia Regional Changchun Online)
    POJ 1577 Falling Leaves 二叉搜索树
    HDU 3791 二叉搜索树
    Problem: Godfather 树的重心
    Problem: [Poi0202]Travelling Salesman 最近公共祖先
    Problem: 最优连通子集
    Problem: 扫雪系列II
    Problem: 扫雪系列I
    Problem: [Ural1039]没有上司的晚会
    Problem: 八中教室的灯
  • 原文地址:https://www.cnblogs.com/andydao/p/3401274.html
Copyright © 2020-2023  润新知