Js dom操作总结
1.选取文档元素
1.1. getElemenById
基于唯一id获取,任何HTML元素可以有id属性,在文档中该值必须唯一。
1.2. getElementsByName
基于name属性的值选取HTML元素。
1.3. getElementsByTagName
通过标签名选取元素,document.getElementByTagName("div")
1.4. getElementsByClassName
通过css类选取元素
1.5. querySelectorAll()
终极的选取元素的办法,非常强大的技术,等效于jquery中的$()方法。
2.文档结构和遍历
2.1 遍历
parentNode,节点的父节点
childNodes, 只读的类数组对象,节点的子节点,注意:换行符也是一个子节点
firstChild,lastChild, 子节点的第一个和最后一个,注意:可能是换行,因为换行也是一个子节点
nextSibling,previoursSibling, 节点的上一个兄弟节点和下一个兄弟节点
<html><head>test</head><body>Hello World!</body></html>
console.log(document.childNodes[0].childNodes[1]); //<body>Hello World!</body>
console.log(document.firstChild.firstChild.nextSibling); //<body>Hello World!</body>
2.2 属性
HTML属性名不区分大小写,但js属性名大小写敏感,js属性名采用驼峰形式,其中class和for可以在html中作为属性,但是在js中为关键字,所以在js中变为className和htmlFor
<body>
<div id="div3" class="test" >3333333333</div>
<script>
document.getElementById("div3").className //test
document.getElementsByClassName("test")[0].id //div3
</script>
</body>
2.3 创建节点
var s = document.createElement("script");
s.url = "www.baidu.com";
2.4 插入节点
appendChild()是在需要插入的element节点上调用,参数为被插入的节点,将被插入节点插入到调用节点的尾部
<div id="app" class="test" >
<div>hello</div>
</div>
<script>
var p = document.createElement("p");
p.innerText = "world";
document.getElementById("app").appendChild(p);
</script> //将p插入到<div>hello</div>后
insertBefore()第一个参数是待插入节点,第二个是已经存在的节点,新节点插入到该节点的前面。方法是在新节点的父节点上调用,方法的第二个参数必须为该父节点的子节点
<body>
<div id="app" class="test" >
<div id="app1">hello</div>
</div>
<script>
var p = document.createElement("p");
p.innerText = "world";
document.getElementById("app").insertBefore(p, document.getElementById("app1"));
</script> //在app1前插入
2.5 删除和替换
removeChild()和replaceChild()的语法和insertBefore()的语法一致
Js dom操作总结的更多相关文章
- JS DOM操作(创建、遍历、获取、操作、删除节点)
		创建节点 <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="u ... 
- js dom 操作
		JS的DOM操作 1DOM是文档对象模型,这种模型为树模型:文档是指标签文档,对象是指文档中每个元素:模型是指抽象化的东西. 2间隔与延迟间隔执行一段代码(函数):window.setInterv ... 
- JS—DOM操作
		节点分为三类: 1.元素节点:标签<div></div> 2.文本节点:标签内的纯文本. 3.属性节点:标签内的属性,id或class 查找元素: getElementById ... 
- js——DOM操作(一)
		DOM:Document Object Model 文档对象模型 文档:html页面 文档对象:页面中元素 文档对象模型:定义 为了能够让程序(js)去操作页面中的元素 DOM会把文档看作是一棵树 ... 
- JS DOM操作   函数    事件    阻止事件冒泡
		一 函数 1.字符串函数 s.tolowerCase( ): -- 变小写 s.toupperCase( ): -- 变大写 s.substr( 2 , 8 ): -- 截取 ... 
- JS  DOM操作(五) Window.docunment对象——操作元素
		定位: var a = document.getElementByIt( "id" ) 同辈元素 var b = a.nextSibling; -- 找 a ... 
- JS  DOM操作(二) Window.docunment对象——操作样式
		一 对元素的定位 在 js 中可以利用 id.class.name.标签名进行元素的定位 id.class 用在客户端 name 用在服务端 用 id 定位 -- ... 
- JS  DOM操作(一) 对页面的操作
		DOM ——文档对象模型(Document Object Model)是表示和处理一个HTML或XML文档的常用方法. 在网页上,组织页面(或文档)的对象被组织在一个树形结构中,用来表示文档中对象的标 ... 
- js  dom  操作技巧
		1.创建元素 创建元素:document.createElement() 使用document.createElement()可以创建新元素.这个方法只接受一个参数,即要创建元素的标签名.这个标签名在 ... 
- js DOM操作练习
		1.有如下html,如果用js获得被选中的option的text描述(非value)<select id="select_id"> <option vlue ... 
随机推荐
- 为什么这些java接口没有抽象方法?浅谈Java标记接口
			在jdk的源码中,存在这样的一些接口,他们不包含任何的(抽象)方法,但是却广泛的存在. 这种接口我们称之为Mark Interface,也就是标记接口. 这些接口呢,我们不用来实现任何的方法,他们的作 ... 
- Unreleased Resource(未释放资源)-Streams(流)
			java中把不同的输入/输出源(键盘.文件.网络连接等)抽象表现为Stream(流). java程序可以通过使用不同的流来访问不同的输入/输出源.而Stream(流)可以直观的理解为从数据的源(Sou ... 
- webapi返回json格式优化
			一.设置webapi返回json格式 在App_Start下的WebApiConfig的注册函数Register中添加下面这代码 config.Formatters.Remove(config.For ... 
- Qt::QObject类
			QObject 类是Qt 所有类的基类. QObject是Qt对象模型的核心.这个模型的中心要素就是一种强大的叫做信号与槽无缝对象沟通机制.你可以用 connect()函数来把一个信号连接到槽,也可以 ... 
- CSS、HTML5、JS
			[att*=value]{}包含value属性的所有元素样式.[id*=div]{} a[href$=jpg]:after{} [att^=value]{}开头字符包含value属性的所有元素样式 [ ... 
- 关于SSIS中解密FTP字符串的方法
			FTP(File Transfer Protocol),是文件传输协议的简称.用于Internet上的控制文件的双向传输.同时,它也是一个应用程序(Application).用户可以通过它把自己的PC ... 
- win7下matlab2016a配置libsvm
			1.下载libsvm https://www.csie.ntu.edu.tw/~cjlin/libsvm/ 2.解压到matlab2016a的安装目录的toolbox下 例如我的D:\Program ... 
- linux思维导图
- php中echo(),print(),print_r()之间的区别
			echo是PHP语句, print和print_r是函数,语句没有返回值,函数可以有返回值(即便没有用) print只能打印出简单类型变量的值(如int,string) print_r可以打印出复 ... 
- asp.net调用客户端WebBrowser 进行网站地址截屏
			在asp.net网站中,如果要实现,在文本框中输入一个URL地址,就把该网页的页面整屏截下来,这段时间一直在研究这一块,在网上查了好多资料.自己又整合了一下. 其实也不是想象中的那么难.主要是通过调用 ... 
