DOM的基本操作
什么是DOM
1:文档对象模型(DocumentObjectModel,DOM)
2:DOM定义了访问和操作HTML文档的标准方法。
3:DOM将HTML 文档表达为树结构。
其他查询元素的方法:
document.querySelector(" ") //获取元素
.表达根据类查找
#表示根据id查找
直接写表示根据标签名查找
[name = 值]表示根据某一个属性查找
document.querySelectorAll(" ") // 获取元素集合(就算页面上只有一个元素,取出的也是集合)
eval(" ") // 通过id名称获取元素
直接通过id名获取元素(部分IE不支持)
修改元素:
元素(节点)是不能直接修改的,可以先删除,再创建。
对某元素的各种属性修改,比如:
div1.innerHTML= "新的内容"; //演示innerText和outerHTML
input1.value = "新的内容";
input.type = "button"; //将input1元素的类型改为按钮
span1.style.color = "red";
document.createElement(elementName);
指再文档下创建某个标签,elementName指标签名,如div,ul,li,img,a等等
element1.appendChild(element2);
指将element2元素,放入element1元素的内容,以追加的形式存放。

删除某元素:
ul1、removeChild(li3); // 在ul1元素内,移除li3元素
注意:
1:只在子节点下删除,想删除哪个节点,必须找到该节点的父节点,parentNode即父节点。
2:只能删除1个节点,不能直接删除集合。
3:如果用变量保存一个集合,对集合内的某个元素进行修改后,
该变量存储的元素会发生变化。比如:
var arr=document.getElementsByTagName("div");
document.body.removeChid(arr[0]); //代码执行完,arr里面所有的元素都会向前进一位
// 即原来的arr[1]由arr[0]表示。
DOM :自定义属性: 元素上有些是系统默认就含有的属性,比如id、title、name、style等。
自定义的属性: 有些是根据自己喜好定义出来的属性,比如abc、xxx等。
自定义属性通常来做数据存储。(可理解成变量赋值)。
html:
<div id= "div1" a="123" data-b="hello"></div>
解释:在上文代码中,id是div的自带属性,a和b都是自定义属性,其中a是旧的写法,b是新的写法。
html:
<div id="div1" a= "123" data-b = "hello"></div>
操作属性的方法有很多种,不同的方法对应的是不同类型的属性。
最常用的写法:
div.c = "你好"; //设置属性
console.log(div.c); //获取属性
注:使用这种方法获取自定义属性时,必须使用js的方法设置属性,使用html的方法设置是无法获取的。
html:
<div id = "div1" a = "123" data-b = "hello"> </div>
另一种比较常用的写法:
div1.setAttribute("d","你好"); //设置属性
console.log(div1.getAttribute("d")); //获取属性
注: 使用这种方法设置的自定义属性,其内容会自动转为字符串。
html:
<div id= "div1" a="123" data-b = "hello" ></div>
自定义属性中的新的写法:
div1.dataset.a = "你好"; //设置属性
console.log(div1.dataset.e); //获取属性
注:有些浏览器不支持。
html:
<div id="div1" a= "123" data-b = "hello"></div>
存在,但不推荐的写法:
div1.attribute.f = "你好"; /设置属性
console.log(div1.attributes.f); //获取属性
不推荐使用,了解即可,因为使用比较复杂。
1,如果直接在html中写行间属性,通过该方法获取时返回属性节点。
2,如果即在行间设置了属性,也通过了js设置了属性,获取时返回属性节点。
3,如果没在行间设置属性,仅在js设置了属性,获取时返回数据。
如果是系统默认就含有的属性,通过不同方法设置的属性,可以通过不用的方法获取。
如果是根据自己喜好定义出来的属性,不用的方法设置的,是不能通过不同方法获取的。
例如: 用setAttribute设置后,可以用attributes获取,但用attributes设置,不能用getAttribute获取;
在实际开发中,以.这种方法为主,除非有要求说要在html中保存属性,否则我们不采用其他方法。
真实开发中,如果html中已经存在了自定义属性,需要我们通过js拿到自定义属性,看这个属性是怎么定义的,如果没有data前缀,则用getAttribute,否则用dataset。
div1.aa = [1,2,3];
console.log(div1,aa); //[1,2,3];
div1.setAttribute("aa",[1,2,3]);
console.log(div1.getAttribute("aa")); // "1,2,3"
区别 :
1: 用 .aa 方法设置后,如果设置一个数组,能够取出数组,而setAttribute设置的是.toSring() 后的结果。
2:用 .aa方法设置后,html上看不到,而setAttribute是能够看到的。
DOM的基本操作的更多相关文章
- JS基础---Dom的基本操作
DOM的增删改查 增: 1.创建一个元素节点 document.createElement() 创建新的<p> 元素:var para=document.createElement(&qu ...
- JavsScript中DOM的基本操作
节点及其类型 元素节点 属性节点: 元素的属性, 可以直接通过属性的方式来操作. 文本节点: 是元素节点的子节点, 其内容为文本. 在 html 文档的什么位置编写 js 代码 直接在 html 页面 ...
- JQuery Dom的基本操作
这是赋值 $("#test").val ("aaa"); 这是取值 string s = $("#test").val (); text( ...
- js学习总结:DOM节点二(dom基本操作)
一.DOM继承树 DOM——Document Object Model DOM定义了表示修改文档所需要的方法.DOM对象即为宿主对象,由浏览器厂商定义,用来操作html和xml的一类厂商定义,也有人称 ...
- Js杂谈-DOM
前言 对jQuery的依赖.导致js的原生方法的淡忘,如果是封装自己的库,那势必要用到js的许多原生方法.从Jquery强大的dom处理开始,我们开始回顾javascript那些古老而坚挺的DOM方法 ...
- javascript DOM操作HTML文档
文档对象模型(DOM)是W3C为解决浏览器混战时代不同浏览器环境之间的差别而制定的模型标准.W3C将文档对象模型定义为:是一个能让程序和脚本动态 访问和更新文档内容.结构和样式的语言平台.提供了标准的 ...
- JavaScript基础学习(九)—DOM
一.DOM概述 DOM(Document Object Model)文本对象模型. D: 文档,HTML文档或XML文档. O: 对象,document对象的属性和方法. ...
- BOM及DOM及事件
知识内容: 1.BOM介绍 2.DOM操作 3.事件 参考:http://www.cnblogs.com/liwenzhou/p/8011504.html 入门代码(DOM基本操作与事件): < ...
- 一篇文章搞懂DOM
学习JavaScript肯定是会遇到DOM操作,那么什么是DOM?它又是干嘛用的?这篇文章为你揭晓答案. DOM是document object model的缩写,简称文档对象模型. 简单的说DOM是 ...
随机推荐
- 「SNOI2019」通信
题目 还好我没生在陕西啊 首先发现这个题不能\(dp\),数据范围不大,好像一种网络流的样子啊 哎等等,这样向后面连边不是一个\(DAG\)吗,这不是最小权路径覆盖的板子吗 于是我们套路的拆点,对于一 ...
- SpringMVC: web.xml中声明DispatcherServlet时一定要添加load-on-startup标签
游历SpringMVC源码后发现,在web.xml中注册的ContextLoaderListener监听器只是初始化了一个根上下文,仅仅完成了组件扫描和与容器初始化相关的一些工作,并没有探测到具体每个 ...
- JS控制台打印佛祖加持护身符
console.log([ " _ooOoo_", " o8888888o" ...
- MP实战系列(二)之集成swagger
其实与spring+springmvc+mybatis集成swagger没什么区别,只是之前写的太不好了,所以这次决定详细写. 提到swagger不得不提rest,rest是一种架构风格,里面有对不同 ...
- springcoud feign超时的问题
配置 #开启超时控制 打开feign-hystix feign.hystrix.enabled=true ribbon.ReadTimeout= ribbon.ConnectTimeout= #如果e ...
- 2-物联网开发标配方案(51单片机程序介绍+WIFI程序介绍)
上一节 https://www.cnblogs.com/yangfengwu/p/9944438.html 购买云服务器安装MQTT就不用说了,以前写过文章介绍 https://www.cnblog ...
- OpenGL初学:安装配置与第一个程序
OpenGL初学:安装配置与第一个程序 2014年10月12日 12:37:03 process-z 阅读数:12413 标签: opengl安装教程 更多 个人分类: OpenGL 计算机图形学 ...
- Adobe PhotoshopCC2017 安装与破解(Mac)
简单说明下Adobe Photoshop CC 2017的破解方法: 1.打开dmg镜像,双击“Install”进行安装,登陆Adobe ID(没有注册一个)完成安装: 2.解压缩“Adobe Zii ...
- 小程序学习-理解小程序中响应式单位rpx
微信小程序的官方文档用rpx来做响应式布局单位!那什么是rpx,应该如何设置呢?今天我们就来好好了解一下. [像素]:它不是自然界的物理长度,指基本原色素及其灰度的基本编码. [物理像素]:它是显示器 ...
- LiveCharts文档-3开始-5序列Series
原文:LiveCharts文档-3开始-5序列Series LiveCharts文档-3开始-5序列Series Strokes和Fills 笔触和填充 所有的Series都有笔触和填充属来处理颜色, ...