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帮助之筛选查找 children([expr])
Jan 31 Javascript
JS实现悬浮移动窗口(悬浮广告)的特效
Mar 12 Javascript
js多级树形弹出一个小窗口层(非常好用)实例代码
Mar 19 Javascript
javascript 实现键盘上下左右功能的小例子
Sep 15 Javascript
JSON 数字排序多字段排序介绍
Sep 18 Javascript
js统计录入文本框中字符的个数并加以限制不超过多少
May 23 Javascript
JavaScript给input的value赋值引发的关于基本类型值和引用类型值问题
Dec 07 Javascript
详解javascript实现瀑布流列式布局
Jan 29 Javascript
JavaScript寄生组合式继承原理与用法分析
Jan 11 Javascript
微信小程序开发实现消息推送
Nov 18 Javascript
p5.js绘制创意自画像
Nov 04 Javascript
vue中组件通信详解(父子组件, 爷孙组件, 兄弟组件)
Jul 27 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
单点登录 Ucenter示例分析
2013/10/29 PHP
php模拟登陆的实现方法分析
2015/01/09 PHP
PHP中实现获取IP和地理位置类分享
2015/02/10 PHP
[IE&amp;FireFox兼容]JS对select操作
2007/01/07 Javascript
SyntaxHighlighter代码加色使用方法
2008/09/07 Javascript
jquery ui 1.7 ui.tabs 动态添加与关闭(按钮关闭+双击关闭)
2010/04/01 Javascript
js更优雅的兼容
2010/08/12 Javascript
JavaScript动态调整TextArea高度的代码
2010/12/28 Javascript
基于jquery的获取浏览器窗口大小的代码
2011/03/28 Javascript
javascript操作JSON的要领总结
2012/12/09 Javascript
js中top的作用深入剖析
2014/03/04 Javascript
基于jQuery的图片不完全按比例自动缩小
2014/07/11 Javascript
javascript实现确定和取消提示框效果
2015/07/10 Javascript
Js与Jq获取浏览器和对象值的方法
2016/03/18 Javascript
jquery事件绑定解绑机制源码解析
2016/09/19 Javascript
微信小程序  http请求封装详解及实例代码
2017/02/15 Javascript
VUE开发一个图片轮播的组件示例代码
2017/03/06 Javascript
AngularJS实现自定义指令与控制器数据交互的方法示例
2017/06/19 Javascript
JavaScript对象的特性与实践应用深入详解
2018/12/30 Javascript
vue2.0结合Element-ui实战案例
2019/03/06 Javascript
详解VUE前端按钮权限控制
2019/04/26 Javascript
selenium 反爬虫之跳过淘宝滑块验证功能的实现代码
2020/08/27 Javascript
如何利用 JS 脚本实现网页全自动秒杀抢购功能
2020/10/12 Javascript
vue3使用vue-count-to组件的实现
2020/12/25 Vue.js
python编写暴力破解FTP密码小工具
2014/11/19 Python
Python文件和目录操作详解
2015/02/08 Python
python计算方程式根的方法
2015/05/07 Python
详解Django之auth模块(用户认证)
2018/04/17 Python
Python+selenium 获取一组元素属性值的实例
2018/06/22 Python
python实现推箱子游戏
2020/03/25 Python
详解有关PyCharm安装库失败的问题的解决方法
2020/02/02 Python
tensorflow实现残差网络方式(mnist数据集)
2020/05/26 Python
哈萨克斯坦移动和数字技术在线商店:SatelOnline.kz
2020/09/04 全球购物
医学专业本科毕业生自我鉴定
2013/12/28 职场文书
2016感恩母亲节校园广播稿
2015/12/17 职场文书
2016教师廉洁从教心得体会
2016/01/13 职场文书