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 24 Javascript
JS 遮照层实现代码
Mar 31 Javascript
jQuery easyui datagrid动态查询数据实例讲解
Feb 26 Javascript
javascript 3d 逐侦产品展示(核心精简)
Mar 26 Javascript
浅析JavaScript 箭头函数 generator Date JSON
May 23 Javascript
jquery按回车键实现表单提交的简单实例
May 25 Javascript
BootStrap入门学习第一篇
Aug 28 Javascript
vue 对象添加或删除成员时无法实时更新的解决方法
May 01 Javascript
vue实现全屏滚动效果(非fullpage.js)
Mar 07 Javascript
理解Proxy及使用Proxy实现vue数据双向绑定操作
Jul 18 Javascript
JavaScript实现HTML导航栏下拉菜单
Nov 25 Javascript
vue-router路由懒加载及实现的3种方式
Feb 28 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
php中记录用户访问过的产品,在cookie记录产品id,id取得产品信息
2011/05/04 PHP
php-cli简介(不会Shell语言一样用Shell)
2013/06/03 PHP
神盾加密解密教程(一)PHP变量可用字符
2014/05/28 PHP
基于递归实现的php树形菜单代码
2014/11/19 PHP
php正则匹配文章中的远程图片地址并下载图片至本地
2015/09/29 PHP
PHP基于SimpleXML生成和解析xml的方法示例
2017/07/17 PHP
PHP操作MySQL中BLOB字段的方法示例【存储文本与图片】
2017/09/15 PHP
php实现的中秋博饼游戏之掷骰子并输出结果功能详解
2017/11/06 PHP
浅谈laravel orm 中的一对多关系 hasMany
2019/10/21 PHP
加速IE的Javascript document输出的方法
2010/12/02 Javascript
JS获取页面input控件中所有text控件并追加样式属性
2013/02/25 Javascript
详解JavaScript异步编程中jQuery的promise对象的作用
2016/05/03 Javascript
Web Uploader文件上传插件使用详解
2016/05/10 Javascript
js正则表达式replace替换变量方法
2016/05/21 Javascript
jQuery插件 Jqplot图表实例
2016/06/18 Javascript
原生js仿jquery实现对Ajax的封装
2016/10/04 Javascript
浅谈jQuery绑定事件会叠加的解决方法和心得总结
2016/10/26 Javascript
Vue.js 2.0学习教程之从基础到组件详解
2017/04/24 Javascript
利用vue组件自定义v-model实现一个Tab组件方法示例
2017/12/06 Javascript
JavaScript DOM元素常见操作详解【添加、删除、修改等】
2018/05/09 Javascript
解决layui 复选框等内置控件不显示的问题
2018/08/14 Javascript
微信小程序的注册页面包含倒计时验证码、获取用户信息
2019/05/22 Javascript
vue prop属性传值与传引用示例
2019/11/13 Javascript
[40:16]TFT vs Mski Supermajor小组赛C组 BO3 第二场 6.3
2018/06/04 DOTA
简介Python设计模式中的代理模式与模板方法模式编程
2016/02/02 Python
Python实现网页截图(PyQT5)过程解析
2019/08/12 Python
解决pyshp UnicodeDecodeError的问题
2019/12/06 Python
pycharm部署、配置anaconda环境的教程
2020/03/24 Python
英国最大线上综合鞋类商城:Office
2017/12/08 全球购物
Moda Italia荷兰:意大利男士服装
2019/08/31 全球购物
小学清明节活动方案
2014/03/08 职场文书
无犯罪记录证明
2014/09/19 职场文书
单位介绍信格式
2015/01/31 职场文书
MySQL中一条SQL查询语句是如何执行的
2022/04/08 MySQL
Python matplotlib 利用随机函数生成变化图形
2022/04/26 Python
Vue 打包后相对路径的引用问题
2022/06/05 Vue.js