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 相关文章推荐
ASP.NET jQuery 实例11 通过使用jQuery validation插件简单实现用户登录页面验证功能
Feb 03 Javascript
js实现一个省市区三级联动选择框代码分享
Mar 06 Javascript
JQuery中对Select的option项的添加、删除、取值
Aug 25 Javascript
JS获取农历日期具体实例
Nov 14 Javascript
通过$(this)使用jQuery包装后的方法或属性
May 18 Javascript
jquery动态添加元素事件失效问题解决方法
May 23 Javascript
jQuery操作iframe中js函数的方法小结
Jul 06 Javascript
基于JS组件实现拖动滑块验证功能(代码分享)
Nov 18 Javascript
mongoose更新对象的两种方法示例比较
Dec 19 Javascript
JavaScript闭包原理与用法实例分析
Aug 10 Javascript
jQuery鼠标滑过横向时间轴样式(代码详解)
Nov 01 jQuery
在vue中通过render函数给子组件设置ref操作
Nov 17 Vue.js
基于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
实用函数10
2007/11/08 PHP
完美解决phpdoc导出文档中@package的warning及Error的错误
2016/05/17 PHP
Yii2实现同时搜索多个字段的方法
2016/08/10 PHP
浅谈laravel-admin form中的数据,在提交后,保存前,获取并进行编辑
2019/10/21 PHP
Sample script that displays all of the users in a given SQL Server DB
2007/06/16 Javascript
分享8款优秀的 jQuery 加载动画和进度条插件
2012/10/24 Javascript
JSONP跨域的原理解析及其实现介绍
2014/03/22 Javascript
教你用jquery实现iframe自适应高度
2014/06/11 Javascript
node.js超时timeout详解
2014/11/26 Javascript
什么是 AngularJS?AngularJS简介
2014/12/06 Javascript
jQuery简单实现仿京东商城的左侧菜单效果代码
2015/09/09 Javascript
JQuery移动页面开发之屏幕方向改变与滚屏的实现
2015/12/03 Javascript
jQuery事件委托之Safari
2016/07/05 Javascript
JS实现输入框提示文字点击时消失效果
2016/07/19 Javascript
Web性能优化系列 10个提升JavaScript性能的技巧
2016/09/27 Javascript
js获取元素的标签名实现方法
2016/10/08 Javascript
javascript中call,apply,bind函数用法示例
2016/12/19 Javascript
Kotlin学习第一步 kotlin语法特性
2017/05/25 Javascript
vue-cli结合Element-ui基于cropper.js封装vue实现图片裁剪组件功能
2018/03/01 Javascript
Python中的jquery PyQuery库使用小结
2014/05/13 Python
python创建进程fork用法
2015/06/04 Python
简单谈谈Python中的几种常见的数据类型
2017/02/10 Python
python面向对象_详谈类的继承与方法的重载
2017/06/07 Python
Python 内置函数进制转换的用法(十进制转二进制、八进制、十六进制)
2018/04/30 Python
python如何求数组连续最大和的示例代码
2020/02/04 Python
Tensorflow: 从checkpoint文件中读取tensor方式
2020/02/10 Python
python中有帮助函数吗
2020/06/19 Python
python实现模拟器爬取抖音评论数据的示例代码
2021/01/06 Python
python 高阶函数简单介绍
2021/02/19 Python
泰国折扣酒店预订:Hotels2Thailand
2018/03/20 全球购物
迷你唐卡软皮鞋:Minnetonka Moccasin
2018/05/01 全球购物
体育纪念品、亲笔签名的体育收藏品:Steiner Sports
2020/07/31 全球购物
Order by的几种用法
2013/06/16 面试题
学校卫生检查制度
2014/02/03 职场文书
班级心理活动总结
2014/07/04 职场文书
先进个人事迹材料(2016推荐版)
2016/03/01 职场文书