浅谈js的html元素的父节点,子节点


Posted in Javascript onAugust 06, 2016

parentNode和parentElement功能一样,childNodes和children功能一样。但是parentNode和childNodes是符合W3C标准的,可以说比较通用。而另外两个只是IE支持,不是标准,Firefox就不支持

示例:

"parentNode" 常用来获取某个元素的父节点. 把 parentNodes 理解为容器, 在容器中有个子节点 ,如下:

<div id="parent">
<b id="child">My text</b>
</div>

在上面的代码中, 你看到把"爹"作为一个 div 容器, 该容器中有个"孩子", 就是粗体的文字部分. 如果你打算用getElementById() 方法获取粗体元素并且想知道它"爹"是谁, 返回的信息将是一个 div. 演示下面的脚本如下:

<script type="text/javascript">
<!--

alert(document.getElementById"child").parentNode.nodeName);

//-->
</script>

用 parentNode 不一定只找到一个"爹", "儿子"也可以成为"爹", 如下面的例子 ...

<div id="parent">
<div id="childparent">
<b id="child">My text</b>
</div>
</div>

上面这段代码中有两个"爹"和两个"孩子". 头一个 div ( id "parent") 是第二个 div (childparent) 的"爹".   在 "childparent" 中有个粗体元素(id "child"), 是 "childparent" div 的"孩子". 那么, 如何访问到"爷爷" (id "parent")?如下:

<script type="text/javascript">
<!--

alert(document.getElementById("child").parentNode.parentNode.nodeName);


//-->
</script>

注意到两个 parentNode 连用了吗? "parentNode.parentNode". 第一个 parentNode 是 div ( id "childparent"), 因为我们要得到最外层的父元素, 所以另外加了一个 parentNode 就到了 div ( id "parent").

使用 parentNode 不只找到某个元素的 nodeName, 还会更多. 例如, 你可以获取包含大量元素的父节点, 并在末尾添加一个新的节点.   IE 有它自己的名称叫做 "parentElement", 对于交叉浏览器脚本建议使用 parentNode

以上这篇浅谈js的html元素的父节点,子节点就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
对textarea框的代码调试,而且功能上使用非常方便,酷
Jun 30 Javascript
JavaScript高级程序设计
Dec 29 Javascript
Prototype使用指南之selector.js说明
Oct 26 Javascript
jQuery性能优化技巧分析
Feb 20 Javascript
jquery实现可横向和竖向展开的动态下滑菜单效果
Aug 24 Javascript
jQuery超酷平面式时钟效果代码分享
Mar 30 Javascript
基于RequireJS和JQuery的模块化编程日常问题解析
Apr 14 Javascript
js H5 canvas投篮小游戏
Aug 18 Javascript
JavaScript常见的五种数组去重的方式
Dec 15 Javascript
seajs中模块依赖的加载处理实例分析
Oct 10 Javascript
AngularJs1.x自定义指令独立作用域的函数传入参数方法
Oct 09 Javascript
解决vue加scoped后就无法修改vant的UI组件的样式问题
Sep 07 Javascript
JS触发服务器控件的单击事件(详解)
Aug 06 #Javascript
动态生成的DOM不会触发onclick事件的原因及解决方法
Aug 06 #Javascript
Google 地图获取API Key详细教程
Aug 06 #Javascript
关于动态生成dom绑定事件失效的原因及解决方法
Aug 06 #Javascript
深入理解JS DOM事件机制
Aug 06 #Javascript
jQuery插件Easyui设置datagrid的pageNumber导致两次请求问题的解决方法
Aug 06 #Javascript
用JS写的一个Ajax库(实例代码)
Aug 06 #Javascript
You might like
如何过滤高亮显示非法字符
2006/10/09 PHP
15种PHP Encoder的比较
2007/04/17 PHP
PHP教程 变量定义
2009/10/23 PHP
PHP 字符串长度判断效率更高的方法
2014/03/02 PHP
PHP写的简单数字验证码实例
2017/05/23 PHP
JavaScript 动态生成方法的例子
2009/07/22 Javascript
ashx文件获取$.ajax()方法发送的数据
2016/05/26 Javascript
jQuery向父辈遍历的简单方法
2016/09/18 Javascript
微信公众号支付H5调用支付解析
2016/11/04 Javascript
angular.extend方法的具体使用
2017/09/14 Javascript
开发Node CLI构建微信小程序脚手架的示例
2020/03/27 Javascript
常见python正则用法的简单实例
2016/06/21 Python
浅析Python中元祖、列表和字典的区别
2016/08/17 Python
Python随机生成均匀分布在单位圆内的点代码示例
2017/11/13 Python
PyQt5主窗口动态加载Widget实例代码
2018/02/07 Python
Python中跳台阶、变态跳台阶与矩形覆盖问题的解决方法
2018/05/19 Python
python 去除二维数组/二维列表中的重复行方法
2019/01/23 Python
Python实现带下标索引的遍历操作示例
2019/05/30 Python
如何使用django的MTV开发模式返回一个网页
2019/07/22 Python
Python 3.8 新功能来一波(大部分人都不知道)
2020/03/11 Python
Django 解决distinct无法去除重复数据的问题
2020/05/20 Python
土耳其时尚潮流在线购物网站:Trendyol
2017/10/10 全球购物
Ray-Ban雷朋奥地利官网:全球领先的太阳眼镜品牌
2020/10/12 全球购物
附答案的Java面试题
2012/11/19 面试题
商务助理岗位职责
2013/11/13 职场文书
管理学专业个人求职信范文
2013/12/13 职场文书
开工庆典邀请函范文
2014/01/16 职场文书
旅游业大学生创业计划书
2014/01/31 职场文书
学校万圣节活动方案
2014/02/13 职场文书
工会工作先进事迹
2014/08/18 职场文书
承诺书模板
2014/08/30 职场文书
现货白银电话营销话术
2015/05/29 职场文书
三八妇女节主持词
2015/07/04 职场文书
干部理论学习心得体会
2016/01/21 职场文书
详解Oracle块修改跟踪功能
2021/11/07 Oracle
使用Redis实现点赞取消点赞的详细代码
2022/03/20 Redis