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面象对象设计
Apr 28 Javascript
VBS通过WMI监视注册表变动的代码
Oct 27 Javascript
ECMA5数组的新增方法有哪些及forEach()模仿实现
Nov 03 Javascript
jQuery事件的绑定、触发、及监听方法简单说明
May 10 Javascript
Node.js返回JSONP详解
May 18 Javascript
jquery判断checkbox是否选中及改变checkbox状态的实现方法
May 26 Javascript
如何解决IONIC页面底部被遮住无法向上滚动问题
Sep 06 Javascript
ng-options和ng-checked在表单中的高级运用(推荐)
Jan 21 Javascript
JS实现动态修改table及合并单元格的方法示例
Feb 20 Javascript
详解如何让Express支持async/await
Oct 09 Javascript
vuex直接赋值的三种方法总结
Sep 16 Javascript
微信小程序实现音频文件播放进度的实例代码
Mar 02 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判断所处服务器操作系统的类型
2013/06/20 PHP
php设计模式之单例、多例设计模式的应用分析
2013/06/30 PHP
php+MySQL实现登录时验证登录名和密码是否正确
2016/05/10 PHP
PHP手机号中间四位用星号*代替显示的实例
2017/06/02 PHP
php无限级分类实现评论及回复功能
2019/02/18 PHP
PHP实现数组向任意位置插入,删除,替换数据操作示例
2019/04/05 PHP
laravel 修改.htaccess文件 重定向public的解决方法
2019/10/12 PHP
关于JS管理作用域的问题
2013/04/10 Javascript
不要使用jQuery触发原生事件的方法
2014/03/03 Javascript
JsRender for object语法简介
2014/10/31 Javascript
jQuery提示插件qTip2用法分析(支持ajax及多种样式)
2016/06/08 Javascript
最好用的Bootstrap fileinput.js文件上传组件
2016/12/12 Javascript
JavaScript标准对象_动力节点Java学院整理
2017/06/27 Javascript
对node.js中render和send的用法详解
2018/05/14 Javascript
vue2.0 实现导航守卫的具体用法(路由守卫)
2018/05/17 Javascript
vue.js添加一些触摸事件以及安装fastclick的实例
2018/08/28 Javascript
简单了解TypeScript中如何继承 Error 类
2019/06/21 Javascript
使用layui前端框架弹出form表单以及提交的示例
2019/10/25 Javascript
rhythmbox中文名乱码问题解决方法
2008/09/06 Python
python抓取京东价格分析京东商品价格走势
2014/01/09 Python
在Django中编写模版节点及注册标签的方法
2015/07/20 Python
dpn网络的pytorch实现方式
2020/01/14 Python
Pyinstaller打包Scrapy项目的实现步骤
2020/09/22 Python
python 实现数据库中数据添加、查询与更新的示例代码
2020/12/07 Python
python安装及变量名介绍详解
2020/12/12 Python
CSS3的Border-radius轻松制作圆角
2012/12/24 HTML / CSS
CSS3动画效果回调处理详解
2014/12/10 HTML / CSS
利用HTML5中Geolocation获取地理位置调用Google Map API在Google Map上定位
2013/01/23 HTML / CSS
师范生实习自我鉴定
2013/11/01 职场文书
鼓励运动员的广播稿
2014/02/08 职场文书
李敖北大演讲稿
2014/05/24 职场文书
公司授权委托书
2014/10/17 职场文书
党支部四风整改方案
2014/10/25 职场文书
小学优秀教师材料
2014/12/15 职场文书
个人催款函范文
2015/06/23 职场文书
idea搭建可运行Servlet的Web项目
2021/06/26 Java/Android