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 相关文章推荐
JQUERY复选框CHECKBOX全选,取消全选
Aug 30 Javascript
js函数内变量的作用域分析
Jan 12 Javascript
javascript显示中文日期的方法
Jun 18 Javascript
移动手机APP手指滑动切换图片特效附源码下载
Nov 30 Javascript
jQuery中Ajax全局事件引用方式及各个事件(全局/局部)执行顺序
Jun 02 Javascript
基于jQuery实现淡入淡出效果轮播图
Jul 31 Javascript
浅谈jquery页面初始化的4种方式
Nov 27 Javascript
Vue.js使用v-show和v-if的注意事项
Dec 13 Javascript
利用d3.js实现蜂巢图表带动画效果
Sep 03 Javascript
jQuery 隐藏/显示效果函数用法实例分析
May 20 jQuery
在nuxt中使用路由重定向的实例
Nov 06 Javascript
详解Vue的列表渲染
Nov 20 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
PHP版自动生成文章摘要
2008/07/23 PHP
jQuery 1.5最新版本的改进细节分析
2011/01/19 Javascript
JavaScript高级程序设计 XML、Ajax 学习笔记
2011/09/10 Javascript
JavaScript插件化开发教程 (四)
2015/01/27 Javascript
JavaScript实现的链表数据结构实例
2015/04/02 Javascript
js+css实现文字散开重组动画特效代码分享
2015/08/21 Javascript
js获取新浪天气接口的实现代码
2016/06/06 Javascript
Boostrap栅格系统与自己额外定义的媒体查询的冲突问题
2017/02/19 Javascript
javascript DOM的详解及实例代码
2017/03/06 Javascript
JavaScript实现两个select下拉框选项左移右移
2017/03/09 Javascript
浅谈Vue数据绑定的原理
2018/01/08 Javascript
Vue中render方法的使用详解
2018/01/26 Javascript
vue-router判断页面未登录自动跳转到登录页的方法示例
2018/11/04 Javascript
三步实现ionic3点击退出app程序
2019/09/17 Javascript
vue element 关闭当前tab 跳转到上一路由操作
2020/07/22 Javascript
vue props 一次传多个值实例
2020/07/22 Javascript
python实现的阳历转阴历(农历)算法
2014/04/25 Python
在Python程序中实现分布式进程的教程
2015/04/28 Python
django 开发忘记密码通过邮箱找回功能示例
2018/04/17 Python
python3.4控制用户输入与输出的方法
2018/10/17 Python
Python实现爬取马云的微博功能示例
2019/02/16 Python
python dumps和loads区别详解
2020/02/04 Python
瑜伽服装品牌:露露柠檬(lululemon athletica)
2017/06/04 全球购物
UGG澳洲官网:UGG Australia
2018/04/26 全球购物
数据库基础的一些面试题
2012/02/25 面试题
一套英文Java笔试题面试题
2016/04/21 面试题
木工主管岗位职责
2013/12/08 职场文书
统计岗位职责
2014/02/21 职场文书
护理人员的自我评价分享
2014/03/15 职场文书
书法大赛策划方案
2014/06/04 职场文书
三严三实学习心得体会
2014/10/13 职场文书
党员廉政准则心得体会
2016/01/20 职场文书
MySQL 使用SQL语句修改表名的实现
2021/04/07 MySQL
tensorboard 可视化之localhost:6006不显示的解决方案
2021/05/22 Python
修改MySQL的默认密码的四种小方法
2021/05/26 MySQL
python编程简单几行代码实现视频转换Gif示例
2021/10/05 Python