JavaScript DOM常用操作代码汇总


Posted in Javascript onJuly 03, 2020

1.理解DOM:

DOM(Document Object Model ,文档对象模型)一种独立于语言,用于操作xml,html文档的应用编程接口。

怎么说,我从两个角度理解:

对于JavaScript,为了能够使JavaScript操作Html,JavaScript就有了一套自己的dom编程接口。

对于Html,dom使得html形成一棵dom树,类似于一颗家族树一样,一层接一层,子子孙孙。

所以说,有了DOM,在我看来就是相当于JavaScript拿到了钥匙一样可以去操作Html的每一个节点,触摸Html每寸肌肤。(咳。。。)

2.介绍Html的DOM树:

说明:html标签通过浏览器的解析后才会形成dom树,此后HTML中的每个标签元素,属性,文本都能看做是一个DOM的节点,JavaScript都能通过dom的提供的编程接口操作到每个节点,去了解浏览器的渲染机制能够帮助我们了解dom。

Html代码:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>dom</title>
</head>
<body>
  <div>
    <a href="www.baidu.com" rel="external nofollow" >百度</a>
  </div>
</body>
</html>

对应的DOM树结构图:

JavaScript DOM常用操作代码汇总

3.认识JavaScript中的DOM编程接口:

上面说了html形成的dom树,接着说下通过js的dom编程接口去操作这棵dom树。

JavaScriptDOM操作的常用方法和属性::

常用方法:

获取节点:

  • document.getElementById(idName) //通过id号来获取元素,返回一个元素对象
  • document.getElementsByName(name) //通过name属性获取id号,返回元素对象数组
  • document.getElementsByClassName(className) //通过class来获取元素,返回元素对象数组(ie8以上才有)
  • document.getElementsByTagName(tagName) //通过标签名获取元素,返回元素对象数组

获取/设置元素的属性值:

  • element.getAttribute(attributeName) //括号传入属性名,返回对应属性的属性值
  • element.setAttribute(attributeName,attributeValue) //传入属性名及设置的值

创建节点Node:

  • document.createElement("h3") //创建一个html元素,这里以创建h3元素为例
  • document.createTextNode(String); //创建一个文本节点;
  • document.createAttribute("class"); //创建一个属性节点,这里以创建class属性为例

增添节点:

  • element.appendChild(Node); //往element内部最后面添加一个节点,参数是节点类型
  • elelment.insertBefore(newNode,existingNode); //在element内部的中在existingNode前面插入newNode

删除节点:

element.removeChild(Node) //删除当前节点下指定的子节点,删除成功返回该被删除的节点,否则返回null

常用属性:

获取当前元素的父节点 :

element.parentNode //返回当前元素的父节点对象

获取当前元素的子节点:

  • element.chlidren //返回当前元素所有子元素节点对象,只返回HTML节点
  • element.chilidNodes //返回当前元素多有子节点,包括文本,HTML,属性节点。(回车也会当做一个节点)
  • element.firstChild //返回当前元素的第一个子节点对象
  • element.lastChild //返回当前元素的最后一个子节点对象

获取当前元素的同级元素:

  • element.nextSibling //返回当前元素的下一个同级元素 没有就返回null
  • element.previousSibling //返回当前元素上一个同级元素 没有就返回null

获取当前元素的文本:

  • element.innerHTML //返回元素的所有文本,包括html代码
  • element.innerText //返回当前元素的自身及子代所有文本值,只是文本内容,不包括html代码

获取当前节点的节点类型:node.nodeType //返回节点的类型,数字形式(1-12)常见几个1:元素节点,2:属性节点,3:文本节点。

设置样式:element.style.color=“#eea”; //设置元素的样式时使用style,这里以设置文字颜色为例。

4.总结:

大家都会觉得用jQuery来操作dom会更加的方便且好用,因为jq对js的dom进行了封装,使得我们Write Less, Do More。但是我觉得还是要总结一下原生js的dom,从根本上了解js对dom的操作,只会有利而无害。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
div移动 输入框不能输入的问题
Nov 19 Javascript
Javascript事件热键兼容ie|firefox
Dec 30 Javascript
判断用户的在线状态 onbeforeunload事件
Mar 05 Javascript
jQuery事件绑定.on()简要概述及应用
Feb 07 Javascript
javascript设置连续两次点击按钮时间间隔的方法
Oct 28 Javascript
JavaScript中isPrototypeOf函数作用和使用实例
Jun 01 Javascript
理解js回收机制通俗易懂版
Feb 29 Javascript
移动端H5开发 Turn.js实现很棒的翻书效果
Jun 20 Javascript
Angularjs中controller的三种写法分享
Sep 21 Javascript
jQuery使用正则表达式替换dom元素标签用法示例
Jan 16 Javascript
详解AngularJS脏检查机制及$timeout的妙用
Jun 19 Javascript
Vue全局使用less样式,组件使用全局样式文件中定义的变量操作
Oct 21 Javascript
JavaScript缺少insertAfter解决方案
Jul 03 #Javascript
原生javascript如何实现共享onload事件
Jul 03 #Javascript
Vue如何实现监听组件原生事件
Jul 03 #Javascript
如何在node环境实现“get数据解析”代码实例
Jul 03 #Javascript
JavaScrip如果基于url实现图片下载
Jul 03 #Javascript
基于VUE实现判断设备是PC还是移动端
Jul 03 #Javascript
JavaScript如何判断对象有某属性
Jul 03 #Javascript
You might like
VFP与其他应用程序的集成
2006/10/09 PHP
在php中使用sockets:从新闻组中获取文章
2006/10/09 PHP
Php中文件下载功能实现超详细流程分析
2012/06/13 PHP
PHP的RSA加密解密方法以及开发接口使用
2018/02/11 PHP
PHP生成短网址的思路以及实现方法的详解
2019/03/25 PHP
laravel框架创建授权策略实例分析
2019/11/22 PHP
JavaScript与函数式编程解释
2007/04/27 Javascript
JS比较2个日期间隔的示例代码
2014/04/15 Javascript
JavaScript动态提示输入框输入字数的方法
2015/07/27 Javascript
如何检测JavaScript的各种类型
2016/07/30 Javascript
微信小程序 石头剪刀布实例代码
2017/01/04 Javascript
jQuery的ajax中使用FormData实现页面无刷新上传功能
2017/01/16 Javascript
backbone简介_动力节点Java学院整理
2017/07/14 Javascript
jquery插件开发模式实例详解
2019/07/20 jQuery
vue 验证码界面实现点击后标灰并设置div按钮不可点击状态
2019/10/28 Javascript
vue搜索页开发实例代码详解(热门搜索,历史搜索,淘宝接口演示)
2020/04/11 Javascript
[00:55]深扒TI7聊天轮盘语音出处3
2017/05/11 DOTA
python统计cpu利用率的方法
2015/06/02 Python
教大家玩转Python字符串处理的七种技巧
2017/03/31 Python
python3.6使用urllib完成下载的实例
2018/12/19 Python
python 判断三个数字中的最大值实例代码
2019/07/24 Python
使用Jupyter notebooks上传文件夹或大量数据到服务器
2020/04/14 Python
HTML5之tabindex属性全面解析
2016/07/07 HTML / CSS
百货商场楼层班组长竞聘书
2014/03/31 职场文书
高一学生期末评语
2014/04/25 职场文书
微笑面对生活演讲稿
2014/05/13 职场文书
简单租房协议书范本
2014/08/20 职场文书
办公室主任个人对照检查材料思想汇报
2014/10/11 职场文书
劳模先进事迹材料
2014/12/24 职场文书
领导参观欢迎词
2015/01/26 职场文书
乡镇一岗双责责任书
2015/01/29 职场文书
暂住证证明
2015/06/19 职场文书
学习委员竞选稿
2015/11/20 职场文书
聊聊JS ES6中的解构
2021/04/29 Javascript
关于JavaScript回调函数的深入理解
2021/06/27 Javascript
vue使用watch监听属性变化
2022/04/30 Vue.js