js常用DOM方法详解


Posted in Javascript onFebruary 04, 2017

介绍几个js DOM的常用方法

获取元素节点 getElementById    getElementsByTagName    getElementsByClassName

先写一个简单的网页做测试:

/*
test.html
*/
<!DOCTYPE html>
<html>
<head>
 <meta charset="utf-8">
 <title>test</title>
</head>
<body>
 <p id="contentId" style="width:500px; height: 30px;background-color: #ccc">这段的id是contentId。</p>
 <p class="contentClass" style="width:500px; height: 30px;background-color: #ccc">这段的class name是contentClass。</p>
</body>
</html>

1.  getElementById 

 1.先定义变量 var contentId = document.getElementById("contentId");

 2.然后输出对象 contentId 就返回id为 contentId  的元素对象( <p id="contentId" style="width:500px; height: 30px;background-color: #ccc"> )。见下图:

js常用DOM方法详解

2.  getElementsByTagName  

   1.还是先定义变量  var contentTag = document.getElementsByTagName("p"); 

 2.接着我输出 contentTag ,它返回 HTMLCollection [ <p#contentId>, <p.contentClass> ] 共两个,一个以#开头表示id,另一个以.开头表示Class name。

 3.继续 contentTag[0]  输出 <p id="contentId" style="width:500px; height: 30px;background-color: #ccc">

 contentTag[1] 输出 <p class="contentClass" style="width:500px; height: 30px;background-color: #ccc">

js常用DOM方法详解

由此可知 getElementsByTagName   返回的是数组!

3.  getElementsByClassName 

  1. var contentClass = document.getElementsByClassName("contentClass");

  2. contentClass 输出 HTMLCollection [ <p.contentClass> ] 返回一个元素对象数组,即使只有一个。

  3. contentClass[0] 输出 <p class="contentClass" style="width:500px; height: 30px;background-color: #ccc">

js常用DOM方法详解

我们常用的还有 getAttribute,setAttribute,ChildNodes, nodeType, nodeValue, firstChild, lastChild 方法获取一些信息。

4.分别用 getAttribute 和 setAttribute 获取和设置属性:

js常用DOM方法详解

改变style属性后:

js常用DOM方法详解

5.那么这是childNOdes:

js常用DOM方法详解

也就是说, <p></p> 在遇到块元素时,块元素之间会有一个换行符 <br> ,浏览器在查找子节点时会将它视为一个文本节点。从图中也可以看出 childNodes 返回的也是数组。

那如果是<p#contentId>呢?

js常用DOM方法详解

nodeType 的值有12种,常用的也就三种:1表示元素节点,2表示属性节点,3表示文本节点。

nodeValue 不仅可以获取文本节点的值,还可以改变文本节点的值。

js常用DOM方法详解

js的dom方法还有好多,可以看看这个W3school JS参考手册,相信对初学者有很大帮助。

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

Javascript 相关文章推荐
JavaScript入门教程(10) 认识其他对象
Jan 31 Javascript
JQuery 1.4 中的Ajax问题
Jan 23 Javascript
jQuery '行 4954 错误: 不支持该属性或方法' 的问题解决方法
Jan 19 Javascript
Javascript继承(上)——对象构建介绍
Nov 08 Javascript
JavaScript 函数参数是传值(byVal)还是传址(byRef) 分享
Jul 02 Javascript
js下将阿拉伯数字每三位一逗号分隔(如:15000000转化为15,000,000)
Jun 02 Javascript
javascript实现下班倒计时效果的方法(可桌面通知)
Jul 10 Javascript
JS实现适合于后台使用的动画折叠菜单效果
Sep 21 Javascript
整理Javascript数组学习笔记
Nov 29 Javascript
简单实现jquery焦点图
Dec 12 Javascript
解决angularjs前后端分离调用接口传递中文时中文乱码的问题
Aug 13 Javascript
vue vue-Router默认hash模式修改为history需要做的修改详解
Sep 13 Javascript
JavaScript数组操作详解
Feb 04 #Javascript
jQuery使用方法
Feb 04 #Javascript
touch.js 拖动、缩放、旋转 (鼠标手势)功能代码
Feb 04 #Javascript
jQuery插件autocomplete使用详解
Feb 04 #Javascript
d3.js中冷门却实用的内置函数总结
Feb 04 #Javascript
原生js开发的日历插件
Feb 04 #Javascript
JS Select下拉框(支持输入模糊查询)
Feb 04 #Javascript
You might like
PHP中的超全局变量
2006/10/09 PHP
php开发工具之vs2005图解
2008/01/12 PHP
php split汉字
2009/06/05 PHP
PHP运行SVN命令显示某用户的文件更新记录的代码
2014/01/03 PHP
PHP+Mysql树型结构(无限分类)数据库设计的2种方式实例
2014/07/15 PHP
PHP 实现的将图片转换为TXT
2015/10/21 PHP
php实现的一段简单概率相关代码
2016/05/30 PHP
php中preg_replace_callback函数简单用法示例
2016/07/21 PHP
jqPlot jquery的页面图表绘制工具
2009/07/25 Javascript
Jquery ajaxsubmit上传图片实现代码
2010/11/04 Javascript
js实现checkbox全选和反选示例
2014/05/01 Javascript
JCrop+ajaxUpload 图像切割上传的实例代码
2016/07/20 Javascript
js 索引下标之li集合绑定点击事件
2018/01/12 Javascript
vue组件实践之可搜索下拉框功能
2018/11/25 Javascript
详解React项目中碰到的IE问题
2019/03/14 Javascript
Vue实现点击显示不同图片的效果
2019/08/10 Javascript
python删除文件示例分享
2014/01/28 Python
python通过getopt模块如何获取执行的命令参数详解
2017/12/29 Python
浅析python参数的知识点
2018/12/10 Python
从0开始的Python学习016异常
2019/04/08 Python
pyqt5与matplotlib的完美结合实例
2019/06/21 Python
python+openCV调用摄像头拍摄和处理图片的实现
2019/08/06 Python
详解Python可视化神器Yellowbrick使用
2019/11/11 Python
Python如何实现邮件功能
2020/05/27 Python
Python如何读取、写入JSON数据
2020/07/28 Python
美国农场鲜花速递:The Bouqs
2018/07/13 全球购物
银行职业规划书范文
2013/12/28 职场文书
校园歌手大赛策划书
2014/01/17 职场文书
服务员自我评价
2014/01/25 职场文书
座谈会主持词
2014/03/20 职场文书
高三上学期学习自我评价
2014/04/23 职场文书
大学生实习证明范文(5篇)
2014/09/18 职场文书
婚宴邀请函
2015/01/30 职场文书
通知函格式范文
2015/04/27 职场文书
oracle删除超过N天数据脚本的方法
2022/02/28 Oracle
Python实现科学占卜 让视频自动打码
2022/04/09 Python