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 18 Javascript
JS刷新框架外页面七种实现代码
Feb 18 Javascript
Jquery 模拟用户点击超链接或者按钮的方法
Oct 25 Javascript
jQuery实现给页面换肤的方法
May 30 Javascript
浅谈vue的踩坑路
Aug 31 Javascript
详解layui中的树形关于取值传值问题
Jan 16 Javascript
ES6中异步对象Promise用法详解
Jul 31 Javascript
从零搭一个自用的前端脚手架的方法步骤
Sep 23 Javascript
JavaScript实现随机五位数验证码
Sep 27 Javascript
详解webpack的文件监听实现(热更新)
Sep 11 Javascript
javascript实现点击小图显示大图
Nov 29 Javascript
JavaScript+HTML实现学生信息管理系统
Apr 20 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的ASP防火墙
2006/10/09 PHP
PHP正确解析UTF-8字符串技巧应用
2012/11/07 PHP
解析file_get_contents模仿浏览器头(user_agent)获取数据
2013/06/27 PHP
注意:php5.4删除了session_unregister函数
2013/08/05 PHP
PHP SPL标准库之数据结构栈(SplStack)介绍
2015/05/12 PHP
详解php的socket通信
2015/08/11 PHP
php中session_id()函数详细介绍,会话id生成过程及session id长度
2015/09/23 PHP
如何用PHP做到页面注册审核
2017/03/02 PHP
ZendFramework2连接数据库操作实例
2017/04/18 PHP
基于Jquery的$.cookie()实现跨越页面tabs导航实现代码
2011/03/03 Javascript
javascript游戏开发之《三国志曹操传》零部件开发(三)情景对话中仿打字机输出文字
2013/01/23 Javascript
Extjs中TabPane如何嵌套在其他网页中实现思路及代码
2013/01/27 Javascript
javascript中直接写php代码的方法
2013/07/31 Javascript
js导入导出excel(实例代码)
2013/11/25 Javascript
jquery.validate.js插件使用经验记录
2014/07/02 Javascript
js使用html()或text()方法获取设置p标签的显示的值
2014/08/01 Javascript
jQuery的text()方法用法分析
2014/12/20 Javascript
JavaScript中的splice()方法使用详解
2015/06/09 Javascript
node.js读取文件到字符串的方法
2015/06/29 Javascript
jQuery实现选项联动轮播效果【附实例】
2016/04/19 Javascript
js根据手机客户端浏览器类型,判断跳转官网/手机网站多个实例代码
2016/04/30 Javascript
jQuery改变form表单的action,并进行提交的实现代码
2016/05/25 Javascript
基于Bootstrap实现tab标签切换效果
2020/04/15 Javascript
深入分析javascript中console命令
2016/08/14 Javascript
jQuery使用getJSON方法获取json数据完整示例
2016/09/13 Javascript
js中document.referrer实现移动端返回上一页
2017/02/22 Javascript
浅谈es6中export和export default的作用及区别
2018/02/07 Javascript
js布局实现单选按钮控件
2020/01/17 Javascript
利用numpy和pandas处理csv文件中的时间方法
2018/04/19 Python
Python flask框架post接口调用示例
2019/07/03 Python
Python操作SQLite数据库过程解析
2019/09/02 Python
Python接收手机短信的代码整理
2020/08/02 Python
CSS3贝塞尔曲线示例:创建链接悬停动画效果
2020/11/19 HTML / CSS
html5定位并在百度地图上显示的示例
2014/04/27 HTML / CSS
2015年大学辅导员工作总结
2015/05/12 职场文书
担保书范文
2019/07/09 职场文书