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 相关文章推荐
自己的js工具 Event封装
Aug 21 Javascript
jquery插件 autoComboBox 下拉框
Dec 22 Javascript
jquery中html、val与text三者属性取值的联系与区别介绍
Dec 29 Javascript
struts2+jquery组合验证注册用户是否存在
Apr 30 Javascript
js倒计时抢购实例
Dec 20 Javascript
JS函数的定义与调用方法推荐
May 12 Javascript
KnockoutJS 3.X API 第四章之数据控制流if绑定和ifnot绑定
Oct 10 Javascript
Angularjs自定义指令实现分页插件(DEMO)
Sep 16 Javascript
JavaScript中变量提升与函数提升经典实例分析
Jul 26 Javascript
Vue之mixin全局的用法详解
Aug 22 Javascript
使用pkg打包Node.js应用的方法步骤
Oct 19 Javascript
layui table 多行删除(id获取)的方法
Sep 12 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
PHP 编程安全性小结
2010/01/08 PHP
PHP简洁函数(PHP简单明了函数语法)
2012/06/10 PHP
thinkphp中U方法按路由规则生成url的方法
2018/03/12 PHP
javascript 系统文件夹文件操作及参数介绍
2013/01/08 Javascript
Node.js中使用计时器定时执行函数详解
2014/08/15 Javascript
avalonjs实现仿微博的图片拖动特效
2015/05/06 Javascript
Javascript中构造函数要注意的一些坑
2017/01/23 Javascript
js模拟支付宝密码输入框
2017/04/11 Javascript
Jquery+Ajax+xml实现中国地区选择三级联动菜单效果(推荐)
2017/06/09 jQuery
详谈JS中数组的迭代方法和归并方法
2017/08/11 Javascript
Vue 事件处理操作实例详解
2019/03/05 Javascript
解决layui追加或者动态修改的表单元素“没效果”的问题
2019/09/18 Javascript
基于element-ui封装可搜索的懒加载tree组件的实现
2020/05/22 Javascript
JavaScript多种图形实现代码实例
2020/06/28 Javascript
echarts.js 动态生成多个图表 使用vue封装组件操作
2020/07/19 Javascript
springboot+vue实现文件上传下载
2020/11/17 Vue.js
Python使用urllib2获取网络资源实例讲解
2013/12/02 Python
python清除字符串里非字母字符的方法
2015/07/02 Python
Python一键查找iOS项目中未使用的图片、音频、视频资源
2019/08/12 Python
K最近邻算法(KNN)---sklearn+python实现方式
2020/02/24 Python
浅谈Django QuerySet对象(模型.objects)的常用方法
2020/03/28 Python
Python 用__new__方法实现单例的操作
2020/12/11 Python
超30万乐谱下载:Musicnotes.com
2016/09/24 全球购物
最耐用行李箱,一箱永流传:Briggs & Riley(全球终身保修)
2017/12/07 全球购物
戴尔新加坡官网:Dell Singapore
2020/12/13 全球购物
幼儿园实习生辞职信
2014/01/20 职场文书
老同学聚会感言
2014/02/23 职场文书
工伤赔偿协议书
2014/04/15 职场文书
团日活动总结报告
2014/06/25 职场文书
教师竞聘上岗演讲稿
2014/09/03 职场文书
个人诉讼委托书范本
2014/10/17 职场文书
应届毕业生自荐信
2015/03/04 职场文书
活动主持人开场白
2015/05/28 职场文书
2015年校本培训工作总结
2015/07/24 职场文书
速龙x4-860k处理器相当于i几
2022/04/20 数码科技
在windows server 2012 r2中安装mysql的详细步骤
2022/07/23 Servers