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中的事件代理初探
Mar 08 Javascript
兼容主流浏览器的JS复制内容到剪贴板
Dec 12 Javascript
avalonjs实现仿微博的图片拖动特效
May 06 Javascript
实现placeholder效果的方案汇总
Jun 11 Javascript
Jquery1.9.1源码分析系列(六)延时对象应用之jQuery.ready
Nov 24 Javascript
关于js函数解释(包括内嵌,对象等)
Nov 20 Javascript
js倒计时显示实例
Dec 11 Javascript
微信小程序 image组件binderror使用例子与js中的onerror区别
Feb 15 Javascript
vue中for循环更改数据的实例代码(数据变化但页面数据未变)
Sep 15 Javascript
jQuery实现滚动到底部时自动加载更多的方法示例
Feb 18 jQuery
在Vue组件中获取全局的点击事件方法
Sep 06 Javascript
JS自定义右键菜单实现代码解析
Jul 16 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 shell超强免杀、减少体积工具实现代码
2012/10/16 PHP
PHP常见的几种攻击方式实例小结
2019/04/29 PHP
PHP实现腾讯短网址生成api接口实例
2020/12/08 PHP
javaScript 读取和设置文档元素的样式属性
2009/04/14 Javascript
Javascript 中介者模式实例
2009/12/16 Javascript
有关js的变量作用域和this指针的讨论
2010/12/16 Javascript
jQuery使用hide方法隐藏元素自身用法实例
2015/03/30 Javascript
jQuery实现仿腾讯微博滑出效果报告每日天气的方法
2015/05/11 Javascript
jquery实现的简单二级菜单效果代码
2015/09/22 Javascript
Javascript基于对象三大特性(封装性、继承性、多态性)
2016/01/04 Javascript
使用jquery.form.js实现图片上传的方法
2016/05/05 Javascript
老生常谈ES6中的类
2017/07/31 Javascript
使用Fullpage插件快速开发整屏翻页的页面
2017/09/13 Javascript
jQuery简单实现向列表动态添加新元素的方法示例
2017/12/25 jQuery
对mac下nodejs 更新到最新版本的最新方法(推荐)
2018/05/17 NodeJs
vue自定义表单生成器form-create使用详解
2019/07/19 Javascript
解决element-ui里的下拉多选框 el-select 时,默认值不可删除问题
2020/08/14 Javascript
JavaScript 中的执行上下文和执行栈实例讲解
2021/02/25 Javascript
python处理csv数据的方法
2015/03/11 Python
python实现文本文件合并
2015/12/29 Python
Python中的with语句与上下文管理器学习总结
2016/06/28 Python
可能是最全面的 Python 字符串拼接总结【收藏】
2018/07/09 Python
Python延时操作实现方法示例
2018/08/14 Python
在python下使用tensorflow判断是否存在文件夹的实例
2019/06/10 Python
pandas 像SQL一样使用WHERE IN查询条件说明
2020/06/05 Python
HTML5 input元素类型:email及url介绍
2013/08/13 HTML / CSS
html5.2 dialog简介详解
2018/02/27 HTML / CSS
某科技软件测试面试题
2013/05/19 面试题
5个HTML5的常用本地存储方式详解与介绍
2021/03/27 HTML / CSS
四查四看剖析材料
2014/02/14 职场文书
经济贸易系求职信
2014/08/04 职场文书
大学生交通专业求职信
2014/09/01 职场文书
2016年共产党员公开承诺书
2016/03/24 职场文书
关于 Python json中load和loads区别
2021/11/07 Python
「地球外少年少女」BD发售宣传CM公开
2022/03/21 日漫
Java代码规范与质量检测插件SonarLint的使用
2022/08/05 Java/Android