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 相关文章推荐
jquery插件jbox使用iframe关闭问题
Feb 09 Javascript
Node.js实战 建立简单的Web服务器
Mar 08 Javascript
select标签模拟/美化方法采用JS外挂式插件
Apr 01 Javascript
Underscore.js常用方法总结
Feb 28 Javascript
使用JavaScript判断手机浏览器是横屏还是竖屏问题
Aug 02 Javascript
jQuery快速高效制作网页交互特效
Feb 24 Javascript
JS基于面向对象实现的多个倒计时器功能示例
Feb 28 Javascript
JS判断非空至少输入两个字符的简单实现方法
Jun 23 Javascript
Angular.js组件之input mask对input输入进行格式化详解
Jul 10 Javascript
基于axios封装fetch方法及调用实例
Feb 05 Javascript
使用vue-router完成简单导航功能【推荐】
Jun 28 Javascript
Vue2.0中三种常用传值方式(父传子、子传父、非父子组件传值)
Aug 16 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
PHPMailer邮件类利用smtp.163.com发送邮件方法
2008/09/11 PHP
PHP实现文件上传与下载实例与总结
2016/03/13 PHP
php compact 通过变量创建数组
2016/11/15 PHP
PHP实现获取第一个中文首字母并进行排序的方法
2017/05/09 PHP
php设计模式之状态模式实例分析【星际争霸游戏案例】
2020/03/26 PHP
Jquery选择器 $实现原理
2009/12/02 Javascript
js操作textarea 常用方法总结
2012/12/03 Javascript
js实现鼠标感应图片展示的方法
2015/02/27 Javascript
14款经典网页图片和文字特效的jQuery插件-前端开发必备
2015/08/25 Javascript
jquery实现下拉框多选方法介绍
2017/01/03 Javascript
Bootstrap table表格简单操作
2017/02/07 Javascript
Extjs表单输入框异步校验的插件实现方法
2017/03/20 Javascript
Node.js学习之地址解析模块URL的使用详解
2017/09/28 Javascript
vue 地图可视化 maptalks 篇实例代码详解
2019/05/21 Javascript
VUE路由动态加载实例代码讲解
2019/08/26 Javascript
JS加载解析Markdown文档过程详解
2020/05/19 Javascript
vant中的toast轻提示实现代码
2020/11/04 Javascript
Python实现处理管道的方法
2015/06/04 Python
Linux系统上Nginx+Python的web.py与Django框架环境
2015/12/25 Python
python3+PyQt5实现自定义窗口部件Counters
2018/04/20 Python
python计算阶乘和的方法(1!+2!+3!+...+n!)
2019/02/01 Python
python全栈知识点总结
2019/07/01 Python
在Pytorch中计算自己模型的FLOPs方式
2019/12/30 Python
python tkinter 设置窗口大小不可缩放实例
2020/03/04 Python
python 画图 图例自由定义方式
2020/04/17 Python
python基于pexpect库自动获取日志信息
2021/02/01 Python
美国新兴城市生活方式零售商:VILLA
2017/12/06 全球购物
美国庭院家具购物网站:AlphaMarts
2019/04/10 全球购物
自考生自我鉴定范文
2013/10/01 职场文书
长安大学毕业生自我鉴定
2014/01/17 职场文书
公务员检讨书
2014/11/01 职场文书
计划生育工作总结2015
2015/04/03 职场文书
竞聘书的秘诀
2019/04/02 职场文书
2019年房屋委托租赁合同范本(通用版)!
2019/07/17 职场文书
python geopandas读取、创建shapefile文件的方法
2021/06/29 Python
Python读取和写入Excel数据
2022/04/20 Python