DOM总结

1.DOM的含义

    DOM是Document Object Model文档对象模型的缩写。根据W3C DOM规范,DOM是一种与浏览器,平台,语言无关的接口,使得你可以访问页面其他的标准组件。

DOM 中的节点:

   *  整个文档就是一个文档节点。

   *  而每一个HMTL标签都是一个元素节点(divElement)

   *  标签中的文字则是文本节点(div)

   *  标签的属性是属性节点(divAttribute)

 一切都是节点

2.查找元素

1.通过id获取某个标签,

document.getElementById('id名字');

2.通过类型名字获取多个标签

var allA = document.getElementsByClassName('a');

3.通过标签的name (a 或者 表单中)属性获取多个标签

document.getElementsByName('对应的name');

4.通过标签名字获取多个标签

var allDiv = document.getElementsByTagName('DIV')

5,通过选择器获取某个标签 (如果有多个标签,会返回找到的第一个)

var aDiv = document.querySelector('div');

6,通过选择器获取多个标签

document.querySelectorAll('选择器名字');

3.DOM节点-元素

1.获取到标签在内的所有文字

alert(标签名字.outerHTML)例如li

2.通过dir可以看到所有关于节点的属性信息

console.dir(标签名字)例如li

3.for in 可以看到关于节点的所有属性和方法

4.获取某个节点的前一个或者是后一个元素节点

alert(li1.previousElementSibling.innerText);

alert(li1.nextElementSibling.innerText);

5..获取某个节点的前一个或者是后一个元素节点(可能是空白文本节点)

alert(li1.previousSibling.nodeName);

alert(li1.nextSibling.nodeName);

6.获取ul中第一个子节点

alert(ul.firstChild);

获取ul中的第一个 子  元素!!!!节点

alert(ul.firstElementChild);

alert(ul.lastElementChild.innerText);

7.创建一个新的li节点

var newLi = document.createElement('li');

newLi.innerText = 'JQuery';

newLi.style.color = 'red';

8.往ul的最后追加一个子节点

ul.appendChild(newLi);

9.用一个新的节点替换 之前的某一个子节点

ul.replaceChild(newLi,li1);

10. 移除某一个子节点(要移除的节点必须是 ul的一个子节点)

ul.removeChild(newLi.previousElementSibling);

11.往某一个子节点前 去插入一个新的节点

ul.insertBefore(newLi,li1);

12.往ul中插入新的节点对象 位置+节点对象

'beforeBegin', 'afterBegin', 'beforeEnd', 'afterEnd'

ul.insertAdjacentElement('afterEnd',newLi);

13.插入html代码

ul.insertAdjacentHTML('beforeBegin','<p>ppppp</p>');

14.插入文本

ul.insertAdjacentText('afterBegin','开始之后')

4.DOM节点-文本

1.for 遍历

for (var i = 0; i < ulChild.length; i++) {

使用驼峰命名法对变量 或者 函数 命名   goShoppingToMall

var aNode = ulChild[i];

判断当前遍历到的记得点是不是 某一个系统的节点类型元素ELEMENT  属性ATTRIBUTE  文本 TEXT

if (aNode.nodeType == Node.ELEMENT_NODE) {

宏定义 用数字代表节点类型  1,元素 2,属性节点  3,文本节点

alert(aNode.nodeType);

alert(aNode.nodeName);

}

}

2.children 获取内部的子!!!元素!!!节点

childNode 获取内部的子 节点 (包含文本节点)

var cssText = ul.children[1].childNodes[0];

获取文本节点中的文本

alert(cssText.nodeValue);

alert(cssText.textContent);

3.追加数据

cssText.appendData('CSS');

a:从第几个字符开始 从0开始

b:删除多长的数据

cssText.deleteData(3,1);

4.替换某一个范围的字符为另外一段字符

cssText.replaceData(1,2,'CCCCC');

5.把某一段字符插入到  某个位置(考虑插入之后在什么位置)

cssText.insertData(2,'A');

5.移除文本节点中的文字

cssText.remove();

5.DOM节点-属性

1.所有的属性

alert(a.attributes.length);

2.直接对元素节点调用 get方法来获取

alert(a.getAttribute('title'));

3.也可以通过set方法 来修改某一个属性的值

a.setAttribute('title','在点我一下');

4.也可以通过打.的方式快速获取某一个属性的值

alert(a.title);

a.title = '不要再点了';

5.设置快捷键

alt + shift + A   浏览器中测试

a.accessKey = 'A';

6.设置标签是否可以编辑

a.contentEditable = 'true';

7.判断元素是否包含某个属性

alert(a.hasAttribute('title'))

8.获取元素的类型

alert(a.className)

9.直接修改元素的类型 可能会导致之前的类型丢失

a.className = 'bigSize yellowText';

往a的类型列表中直接添加某一个新类型,不会影响之前的类型

a.classList.add('border');

删除某个属性

a.classList.remove('bigSize');

10.切换是否使用某一个类型

如果本来有 就移除   本来没有 就添加

a.classList.toggle('bigSize');

11.刚才通过js设置的样式可以拿到

直接写在属性中的样式可以拿到

写在样式表(Style标签)中的样式js拿不到

a.style.padding = '20px';

alert(a.style.padding);

12.获取计算之后(包括属性中的,样式表中的,js中修改的)的样式

var aStyle = window.getComputedStyle(a,':after');

alert(aStyle.border);

Javascript-DOM总结的更多相关文章

  1. 读书笔记:JavaScript DOM 编程艺术(第二版)

    读完还是能学到很多的基础知识,这里记录下,方便回顾与及时查阅. 内容也有自己的一些补充. JavaScript DOM 编程艺术(第二版) 1.JavaScript简史 JavaScript由Nets ...

  2. javascript DOM 操作 attribute 和 property 的区别

    javascript DOM 操作 attribute 和 property 的区别 在做 URLRedirector 扩展时,注意到在使用 jquery 操作 checkbox 是否勾选时,用 at ...

  3. JavaScript DOM 编程艺术·setInterval与setTimeout的动画实现解析

    先贴上moveElement()函数的大纲,为了方便观看,删了部分代码,完整版粘到文章后面. function moveElement(elementID,final_x,final_y,interv ...

  4. javascript DOM 操作

    在javascript中,经常会需要操作DOM操作,在此记录一下学习到DOM操作的知识. 一.JavaScript DOM 操作 1.1.DOM概念 DOM :Document Object Mode ...

  5. javascript DOM操作之 querySelector,querySelectorAll

    javascript DOM操作之 querySelector,querySelectorAll

  6. javaScript DOM JQuery AJAX

    http://www.cnblogs.com/wupeiqi/articles/5369773.html 一 JavaScript JavaScript是一门编程语言,浏览器内置了JavaScript ...

  7. JavaScript : DOM文档解析详解

    JavaScript DOM  文档解析 1.节点(node):来源于网络理论,代表网络中的一个连接点.网络是由节点构成的集合 <p title=“a gentle reminder”> ...

  8. JavaScript DOM 编程艺术(第2版)读书笔记(1)

    JavaScript 简史 JavaScript 是Netscape公司与Sun公司合作开发的.在 JavaScript 1.0发布时,Netscape Navigator主宰着浏览器市场.微软在推出 ...

  9. javascript DOM操作HTML文档

    文档对象模型(DOM)是W3C为解决浏览器混战时代不同浏览器环境之间的差别而制定的模型标准.W3C将文档对象模型定义为:是一个能让程序和脚本动态 访问和更新文档内容.结构和样式的语言平台.提供了标准的 ...

  10. JavaScript DOM编程艺术学习笔记(一)

    嗯,经过了一周的时间,今天终于将<JavaScript DOM编程艺术(第2版)>这本书看完了,感觉受益匪浅,我和作者及出版社等等都不认识,无意为他们做广告,不过本书确实值得一看,也值得推 ...

随机推荐

  1. CentOS7下默认目录安装mono+jexus教程

    一.阅读前须知: 1.本文属于安装完Centos7之后的步骤 2.如果还不了解mono,请点击mono 3.本篇主要内容是使用默认目录安装mono+jexus教程,使用自定义目录请查看使用自定义目录安 ...

  2. Android Studio开发Android应用如何签名

    1.使用jdk自带的工具生成keystore 使用cmd命令行进入到jdk的bin目录(比如:C:\Program Files\Java\jdk1.7.0_01\bin) 运行如下命令: C:\Pro ...

  3. XML基础

    什么是XML? XML(Extensible Markup Language)可扩展标记语言,是一种以简单文本格式存储数据的方式. 它最重要的组成部分是XML元素,包含了文档的实际数据. XML的几个 ...

  4. Azure上的那些IP

    相信第一次接触Azure的读者都会碰到这样一个问题,就是Azure的IP地址,笔者第一次接触Azure也是被搞懵逼了,一会儿VIP,不知道的还以为是会员的意思呢,一会儿又是DIP,后来又来了个PIP, ...

  5. Google的Protobuf协议分析

    protobuf和thrift类似,也是一个序列化的协议实现,简称PB(下文出现的PB代表protobuf). Github:https://github.com/google/protobuf 上图 ...

  6. Java的垃圾回收和内存分配策略

    本文是<深入理解Java虚拟机 JVM高级特性与最佳实践>的读书笔记 在介绍Java的垃圾回收方法之前,我们先来了解一下Java虚拟机在执行Java程序的过程中把它管理的内存划分为若干个不 ...

  7. web页面跳转的几种方式

    可用客户端触发或服务端触发的方式来实现页面跳转. 客户端触发 方式一:使用Javascript 利用window.location对象的href属性.assign()方法或replace()方法来实现 ...

  8. getComputedStyle/currentStyle/style之间的爱恨情仇

    getComputedStyle是? getComputedStyle是一个可以获取当前元素所有最终使用的CSS属性值.返回的是一个CSS样式声明对象([object CSSStyleDeclarat ...

  9. vs里根据json快速创建对应类的方法

    有时候,我们在调用别人接口的时候,服务端返回了一个json格式的字符串,我们要获取json里面的数据的话一般有两种方式: 1.通过正则 2.反序列化成一个对象 第一种方式这里不再多说,主要说一下第二种 ...

  10. SpringMVC文件上传和下载

    上传与下载 1文件上传 1.1加入jar包 文件上传需要依赖的jar包 1.2配置部件解析器 解析二进制流数据. <?xml version="1.0" encoding=& ...