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 相关文章推荐
JS文本框默认值处理详解
Jul 10 Javascript
探讨javascript是不是面向对象的语言
Nov 21 Javascript
如何解决谷歌浏览器下jquery无法获取图片的尺寸
Sep 10 Javascript
Bootstrap开发实战之响应式轮播图
Jun 02 Javascript
AngularJS 面试题集锦
Sep 06 Javascript
jQuery Json数据格式排版高亮插件json-viewer.js使用方法详解
Jun 12 jQuery
promise处理多个相互依赖的异步请求(实例讲解)
Aug 03 Javascript
移动前端图片压缩上传的实例
Dec 06 Javascript
JS基于递归实现网页版计算器的方法分析
Dec 20 Javascript
Vue加载组件、动态加载组件的几种方式
Aug 31 Javascript
js for终止循环 跳出多层循环
Oct 04 Javascript
vue+element table表格实现动态列筛选的示例代码
Jan 14 Vue.js
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
星际争霸, 教主第一视角, ZvT经典龙蛇演义
2020/03/02 星际争霸
利用PHP实现与ASP Banner组件相似的类
2006/10/09 PHP
php Sql Server连接失败问题及解决办法
2009/08/07 PHP
ThinkPHP多语言支持与多模板支持概述
2014/08/22 PHP
制作安全性高的PHP网站的几个实用要点
2014/12/30 PHP
PHP设计模式之适配器模式代码实例
2015/05/11 PHP
详解PHP中的PDO类
2015/07/06 PHP
php实现微信发红包
2015/12/05 PHP
PHP二维数组去重实例分析
2016/11/18 PHP
实例讲解PHP表单验证功能
2019/02/15 PHP
php正则表达式使用方法整理集合
2020/01/31 PHP
Locate a File Using a File Open Dialog Box
2007/06/18 Javascript
javascript中万恶的function实例分析
2011/05/25 Javascript
javascript截图 jQuery插件imgAreaSelect使用详解
2016/05/04 Javascript
JQuery DIV 动态隐藏和显示的方法
2016/06/23 Javascript
nodejs基础应用
2017/02/03 NodeJs
JavaScript时间戳与时间日期间相互转换
2017/12/11 Javascript
仿ElementUI实现一个Form表单的实现代码
2019/04/23 Javascript
详解小程序input框失焦事件在提交事件前的处理
2019/05/05 Javascript
[01:01:51]EG vs VG Supermajor小组赛B组 BO3 第二场 6.2
2018/06/03 DOTA
Python异常处理操作实例详解
2018/08/28 Python
Python3实现获取图片文字里中文的方法分析
2018/12/13 Python
python实现字符串加密 生成唯一固定长度字符串
2019/03/22 Python
Python中format()格式输出全解
2019/04/12 Python
Python文件操作函数用法实例详解
2019/12/24 Python
什么是python的id函数
2020/06/11 Python
浅谈CSS3 box-sizing 属性 有趣的盒模型
2019/04/02 HTML / CSS
BNKR中国官网:带你感受澳洲领先潮流时尚
2018/08/21 全球购物
使用useBean标志初始化BEAN时如何接受初始化参数
2012/02/11 面试题
护士自荐信
2013/10/25 职场文书
专科毕业生就业推荐信
2013/11/01 职场文书
售后服务科岗位职责范文
2013/11/13 职场文书
会计电算化专业自荐信
2014/03/15 职场文书
2016反腐倡廉警示教育心得体会
2016/01/13 职场文书
干部理论学习心得体会
2016/01/21 职场文书
SQL Server中锁的用法
2022/05/20 SQL Server