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 相关文章推荐
基于jquery的让页面控件不可用的实现代码
Apr 27 Javascript
一个Action如何调用两个不同的方法
May 22 Javascript
JavaScript获取Url里的参数
Dec 18 Javascript
JavaScript中return false的用法
Mar 12 Javascript
Javascript监视变量变化的方法
Jun 09 Javascript
javascript通过获取html标签属性class实现多选项卡的方法
Jul 27 Javascript
JavaScript实现文字跟随鼠标特效
Aug 06 Javascript
Angular.js 实现数字转换汉字实例代码
Jul 14 Javascript
jQuery实现页面顶部下拉广告
Dec 30 Javascript
JS实现的自动打字效果示例
Mar 10 Javascript
Vue press 支持图片放大功能的实例代码
Nov 09 Javascript
vue数据初始化initState的实例详解
Apr 11 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
有关JSON以及JSON在PHP中的应用
2010/04/09 PHP
在Windows下编译适用于PHP 5.2.12及5.2.13的eAccelerator.dll(附下载)
2010/05/04 PHP
php操作xml入门之cdata区段
2015/01/23 PHP
全面了解PHP中的全局变量
2016/06/17 PHP
PHP简单实现合并2个数字键数组值的方法
2017/05/30 PHP
Thinkphp3.2简单解决多文件上传只上传一张的问题
2017/09/26 PHP
js option删除代码集合
2008/11/12 Javascript
JQuery FlexiGrid的asp.net完美解决方案 dotNetFlexGrid-.Net原生的异步表格控件
2010/09/12 Javascript
24款非常有用的 jQuery 插件分享
2011/04/06 Javascript
JsDom 编程小结
2011/08/09 Javascript
ECMAScript 创建自己的js类库
2012/11/22 Javascript
JS实现的省份级联实例代码
2013/06/24 Javascript
页面图片浮动左右滑动效果的简单实现案例
2014/02/10 Javascript
JavaScript提高性能知识点汇总
2016/01/15 Javascript
基于JQuery的$.ajax方法进行异步请求导致页面闪烁的解决办法
2016/05/10 Javascript
JavaScript中的数组遍历forEach()与map()方法以及兼容写法介绍
2016/05/19 Javascript
深入浅析JavaScript中的scrollTop
2016/07/11 Javascript
jQuery用noConflict代替$的实现方法
2017/04/12 jQuery
微信小程序获取手机号授权用户登录功能
2017/11/09 Javascript
pageGroup.js实现分页功能
2019/07/27 Javascript
vue中使用GraphQL的实例代码
2019/11/04 Javascript
Python编程使用*解包和itertools.product()求笛卡尔积的方法
2017/12/18 Python
Django分页查询并返回jsons数据(中文乱码解决方法)
2018/08/02 Python
python文件操作seek()偏移量,读取指正到指定位置操作
2020/07/05 Python
CSS3对背景图片的裁剪及尺寸和位置的设定方法
2016/03/07 HTML / CSS
处理HTML5新标签的浏览器兼容版问题
2017/03/13 HTML / CSS
Lampegiganten丹麦:欧洲领先的照明网上商店
2018/04/25 全球购物
意大利灯具购物网站:Lampade.it
2018/10/18 全球购物
护理专业毕业生自荐信范文
2014/01/05 职场文书
电气个人求职信范文
2014/02/04 职场文书
建筑工程技术专业求职信
2014/07/16 职场文书
入党积极分子学习优秀共产党员先进事迹思想汇报
2014/09/13 职场文书
教师节老师寄语
2015/05/28 职场文书
《彼得与狼》教学反思
2016/02/20 职场文书
PyCharm配置KBEngine快速处理代码提示冲突、配置命令问题
2021/04/03 Python
Android开发手册自定义Switch开关按钮控件
2022/06/10 Java/Android