JS访问DOM节点方法详解


Posted in Javascript onNovember 29, 2016

本文实例讲述了JS访问DOM节点方法。分享给大家供大家参考,具体如下:

查找并访问节点

你可通过若干种方法来查找您希望操作的元素:

通过使用 getElementById() 和 getElementsByTagName() 方法

通过使用一个元素节点的 parentNode、firstChild 以及 lastChild 属性

getElementById() 和 getElementsByTagName()

getElementById() 和 getElementsByTagName() 这两种方法,可查找整个 HTML 文档中的任何 HTML 元素。

这两种方法会忽略文档的结构。假如您希望查找文档中所有的 <p> 元素,getElementsByTagName() 会把它们全部找到,不管 <p> 元素处于文档中的哪个层次。同时,getElementById() 方法也会返回正确的元素,不论它被隐藏在文档结构中的什么位置。

这两种方法会像您提供任何你所需要的 HTML 元素,不论它们在文档中所处的位置!

getElementById() 可通过指定的 ID 来返回元素:

getElementById() 语法

document.getElementById("ID");

注释:getElementById() 无法工作在 XML 中。在 XML 文档中,您必须通过拥有类型 id 的属性来进行搜索,而此类型必须在 XML DTD 中进行声明。

getElementsByTagName() 方法会使用指定的标签名返回所有的元素(作为一个节点列表),这些元素是您在使用此方法时所处的元素的后代。

getElementsByTagName() 可被用于任何的 HTML 元素:

getElementsByTagName() 语法

document.getElementsByTagName("标签名称");

或者:

document.getElementById('ID').getElementsByTagName("标签名称");

实例 1

下面这个例子会返回文档中所有 <p> 元素的一个节点列表:

document.getElementsByTagName("p");

实例 2

下面这个例子会返回所有 <p> 元素的一个节点列表,且这些 <p> 元素必须是 id 为 "maindiv" 的元素的后代:

document.getElementById('maindiv').getElementsByTagName("p");

节点列表(nodeList)

当我们使用节点列表时,通常要把此列表保存在一个变量中,就像这样:

var x=document.getElementsByTagName("p");

现在,变量 x 包含着页面中所有 <p> 元素的一个列表,并且我们可以通过它们的索引号来访问这些 <p> 元素。

注释:索引号从 0 开始。

您可以通过使用 length 属性来循环遍历节点列表:

var x=document.getElementsByTagName("p");
for (var i=0;i<x.length;i++)
{
 // do something with each paragraph
}

您也可以通过索引号来访问某个具体的元素。

要访问第三个 <p> 元素,您可以这么写:

var y=x[2];

parentNode、firstChild以及lastChild

这三个属性 parentNode、firstChild 以及 lastChild 可遵循文档的结构,在文档中进行“短距离的旅行”。

请看下面这个 HTML 片段:

<table>
 <tr>
  <td>John</td>
  <td>Doe</td>
  <td>Alaska</td>
 </tr>
</table>

在上面的HTML代码中,第一个 <td> 是 <tr> 元素的首个子元素(firstChild),而最后一个 <td> 是 <tr>元素的最后一个子元素(lastChild)。

此外,<tr> 是每个 <td>元 素的父节点(parentNode)。

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
JavaScript 字符串与数组转换函数[不用split与join]
Dec 13 Javascript
一个XML格式数据转换为图表的例子
Feb 09 Javascript
jquery事件与函数的使用介绍
Sep 29 Javascript
javascript验证只能输入数字和一个小数点示例
Oct 21 Javascript
Javascript遍历Html Table示例(包括内容和属性值)
Jul 08 Javascript
javascript实现获取cookie过期时间的变通方法
Aug 14 Javascript
AngularJS使用ngMessages进行表单验证
Dec 27 Javascript
js去字符串前后空格的实现方法
Feb 26 Javascript
js+css实现回到顶部按钮(back to top)
Mar 02 Javascript
解决ztree搜索中多级菜单展示不全问题
Jul 05 Javascript
bootstrap-table.js扩展分页工具栏(增加跳转到xx页)功能
Dec 28 Javascript
微信小程序实现滚动加载更多的代码
Dec 06 Javascript
基于Node.js + WebSocket打造即时聊天程序嗨聊
Nov 29 #Javascript
浅谈js函数的多种定义方法与区别
Nov 29 #Javascript
原生JS简单实现ajax的方法示例
Nov 29 #Javascript
jQuery Checkbox 全选 反选的简单实例
Nov 29 #Javascript
使用Vue.js创建一个时间跟踪的单页应用
Nov 28 #Javascript
js拖拽功能实现代码解析
Nov 28 #Javascript
百度搜索框智能提示案例jsonp
Nov 28 #Javascript
You might like
PHP缓存技术的多种方法小结
2012/08/14 PHP
PHP输出时间差函数代码
2013/01/28 PHP
php数组去重实例及分析
2013/11/26 PHP
php获取网页中图片、DIV内容的简单方法
2014/06/19 PHP
PHP IDE phpstorm 常用快捷键
2015/05/18 PHP
PHP使用preg_split和explode分割textarea存放内容的方法分析
2017/07/03 PHP
Windows上php5.6操作mongodb数据库示例【配置、连接、获取实例】
2019/02/13 PHP
js 纯数字不重复排列的另类方法
2010/07/17 Javascript
javascript中运用闭包和自执行函数解决大量的全局变量问题
2010/12/30 Javascript
JavaScript通过字典进行字符串翻译转换的方法
2015/03/19 Javascript
PHP+mysql+Highcharts生成饼状图
2015/05/04 Javascript
JavaScript中标识符提升问题
2015/06/11 Javascript
Vue.js每天必学之指令系统与自定义指令
2016/09/07 Javascript
vue 的keep-alive缓存功能的实现
2018/03/22 Javascript
webpack4.x打包过程详解
2018/07/18 Javascript
vue实现类似淘宝商品评价页面星级评价及上传多张图片功能
2018/10/29 Javascript
vue组件从开发到发布的实现步骤
2018/11/11 Javascript
elementUI Tree 树形控件的官方使用文档
2019/04/25 Javascript
JSON是什么?有哪些优点?JSON和XML的区别?
2019/04/29 Javascript
nodejs搭建本地服务器并访问文件操作示例
2019/05/11 NodeJs
解决layui表格内文本超出隐藏的问题
2019/09/12 Javascript
Vue可自定义tab组件用法实例
2019/10/24 Javascript
[02:39]DOTA2英雄基础教程 极限穿梭编织者
2013/12/05 DOTA
Python获取央视节目单的实现代码
2015/07/25 Python
python 采集中文乱码问题的完美解决方法
2016/09/27 Python
20个常用Python运维库和模块
2018/02/12 Python
Python os.rename() 重命名目录和文件的示例
2018/10/25 Python
Python线程指南分享
2019/11/19 Python
python3 实现口罩抽签的功能
2020/03/11 Python
html5的画布canvas——画出简单的矩形、三角形实例代码
2013/06/09 HTML / CSS
迪卡侬英国官网:Decathlon英国
2017/04/08 全球购物
随机分配座位,共50个学生,使学号相邻的同学座位不能相邻
2014/01/18 面试题
授权委托书格式模板
2014/04/03 职场文书
领导干部对照检查材料
2014/08/24 职场文书
工伤事故证明
2014/10/20 职场文书
2015年国庆节慰问信
2015/03/23 职场文书