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 相关文章推荐
获取3个数组不重复的值的具体实现
Dec 30 Javascript
javascript实现的一个带下拉框功能的文本框
May 08 Javascript
javascript中实现兼容JAVA的hashCode算法代码分享
Aug 11 Javascript
node.js中的dns.getServers方法使用说明
Dec 08 Javascript
浏览器中url存储的JavaScript实现
Jul 07 Javascript
javascript实现起伏的水波背景效果
May 16 Javascript
基于Bootstrap的后台管理面板 Bootstrap Metro Dashboard
Jun 17 Javascript
结合代码图文讲解JavaScript中的作用域与作用域链
Jul 05 Javascript
在Web项目中引入Jquery插件报错的完美解决方案(图解)
Sep 19 Javascript
jquery实现下拉框多选方法介绍
Jan 03 Javascript
webpack 如何解析代码模块路径的实现
Sep 04 Javascript
浅谈layui 绑定form submit提交表单的注意事项
Oct 25 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
joomla jce editor 解决上传中文名文件失败问题
2013/06/09 PHP
CI框架自动加载session出现报错的解决办法
2014/06/17 PHP
使用PHP和HTML5 FormData实现无刷新文件上传教程
2014/09/06 PHP
PHP使用gmdate实现将一个UNIX 时间格式化成GMT文本的方法
2015/03/19 PHP
PHP使用flock实现文件加锁的方法
2015/07/01 PHP
php5.2的curl-bug 服务器被php进程卡死问题排查
2016/09/19 PHP
PHP基于curl post实现发送url及相关中文乱码问题解决方法
2017/11/25 PHP
php使用QueryList轻松采集js动态渲染页面方法
2018/09/11 PHP
jQuery基础框架浅入剖析
2012/12/27 Javascript
用js实现控件的隐藏及style.visibility的使用
2013/06/14 Javascript
js Calender控件使用详解
2015/01/05 Javascript
jQuery的基本概念与高级编程
2015/05/14 Javascript
Webpack 实现 Node.js 代码热替换
2015/10/22 Javascript
AngularJS 视图详解及示例代码
2016/08/17 Javascript
解决ionic和angular上拉加载的问题
2017/08/03 Javascript
基于VUE.JS的移动端框架Mint UI的使用
2017/10/11 Javascript
vue2.0实现前端星星评分功能组件实例代码
2018/02/12 Javascript
浅谈目前可以使用ES10的5个新特性
2019/06/25 Javascript
详解Vue-cli3.X使用px2rem遇到的问题
2019/08/09 Javascript
layUI使用layer.open,在content打开数据表格,获取值并返回的方法
2019/09/26 Javascript
python Django模板的使用方法
2016/01/14 Python
Centos Python2 升级到Python3的简单实现
2016/06/21 Python
PyQt5实现简单数据标注工具
2019/03/18 Python
Python编程实现tail-n查看日志文件的方法
2019/07/08 Python
parser.add_argument中的action使用
2020/04/20 Python
Scholastic父母商店:儿童书籍
2017/01/01 全球购物
英国最大的化装舞会服装网站:Fancydress.com
2017/08/15 全球购物
Contém1g官网:巴西彩妆品牌
2020/01/17 全球购物
基层党建工作宣传标语
2014/06/24 职场文书
光学与应用专业毕业生求职信
2014/09/01 职场文书
正风肃纪剖析材料范文
2014/10/10 职场文书
我们的节日端午节活动总结
2015/02/11 职场文书
争先创优个人总结
2015/03/04 职场文书
2015年禁毒宣传活动总结
2015/03/25 职场文书
民事诉讼答辩状范文
2015/05/21 职场文书
使用Python获取字典键对应值的方法
2022/04/26 Python