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 相关文章推荐
关于Aptana Studio生成自动备份文件的解决办法
Dec 23 Javascript
jQuery 表单验证扩展(四)
Oct 20 Javascript
js自动生成的元素与页面原有元素发生堆叠的解决方法
Oct 24 Javascript
js用闭包遍历树状数组的方法
Mar 19 Javascript
在JS中解析HTML字符串示例代码
Apr 16 Javascript
jquery仿苹果的时间/日期选择效果
Mar 08 Javascript
javascript实现table单元格点击展开隐藏效果(实例代码)
Apr 10 Javascript
vue.js内部自定义指令与全局自定义指令的实现详解(利用directive)
Jul 11 Javascript
vue2.0 常用的 UI 库实例讲解
Dec 12 Javascript
JavaScript时间日期操作实例小结【5个示例】
Dec 22 Javascript
JS实现简易贪吃蛇游戏
Aug 24 Javascript
JavaScript最完整的深浅拷贝实现方式详解
Feb 28 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
在Ubuntu 14.04上部署 PHP 环境及 WordPress
2014/09/02 PHP
PHP中生成UUID自定义函数分享
2015/06/10 PHP
PHP递归获取目录内所有文件的实现方法
2016/11/01 PHP
实例分析PHP将字符串转换成数字的方法
2019/01/27 PHP
laravel5.6框架操作数据curd写法(查询构建器)实例分析
2020/01/26 PHP
TP5框架安全机制实例分析
2020/04/05 PHP
javascript字典探测用户名工具
2006/10/05 Javascript
JavaScript的目的分析
2007/01/05 Javascript
Javascript 同时提交多个Web表单的方法
2009/02/19 Javascript
jquery文字上下滚动的实现方法
2013/03/22 Javascript
js设置控件的隐藏与显示的两种方法
2014/08/21 Javascript
node.js使用require()函数加载模块
2014/11/26 Javascript
js树插件zTree获取所有选中节点数据的方法
2015/01/28 Javascript
Javascript中的数组常用方法解析
2016/06/17 Javascript
用AngularJS来实现监察表单按钮的禁用效果
2016/11/02 Javascript
JS监控关闭浏览器操作的实例详解
2017/09/12 Javascript
简单谈谈CommonsChunkPlugin抽取公共模块
2017/12/31 Javascript
js实现随机数小游戏
2019/06/28 Javascript
微信小程序scroll-view的滚动条设置实现
2020/03/02 Javascript
Python import用法以及与from...import的区别
2015/05/28 Python
Python实现的多线程http压力测试代码
2017/02/08 Python
Python中Django发送带图片和附件的邮件
2017/03/31 Python
python中requests爬去网页内容出现乱码问题解决方法介绍
2017/10/25 Python
tensorflow 获取模型所有参数总和数量的方法
2018/06/14 Python
基于Python3.6+splinter实现自动抢火车票
2018/09/25 Python
python 项目目录结构设置
2020/02/14 Python
python+pygame实现坦克大战小游戏的示例代码(可以自定义子弹速度)
2020/08/11 Python
通过Python pyecharts输出保存图片代码实例
2020/11/25 Python
用纯CSS3实现网页中常见的小箭头
2017/10/16 HTML / CSS
DataList 能否分页,请问如何实现?
2015/05/03 面试题
linux下进程间通信的方式
2013/01/23 面试题
单位介绍信范文
2014/01/18 职场文书
2014第二批党的群众路线教育实践活动对照检查材料思想汇报
2014/09/18 职场文书
办公室务虚会发言材料
2014/10/20 职场文书
党员公开承诺书2015
2015/01/21 职场文书
导游词之五台山
2019/10/11 职场文书