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操作总结的更多相关文章

  1. JS DOM操作(创建、遍历、获取、操作、删除节点)

    创建节点 <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="u ...

  2. js dom 操作

    JS的DOM操作   1DOM是文档对象模型,这种模型为树模型:文档是指标签文档,对象是指文档中每个元素:模型是指抽象化的东西. 2间隔与延迟间隔执行一段代码(函数):window.setInterv ...

  3. JS—DOM操作

    节点分为三类: 1.元素节点:标签<div></div> 2.文本节点:标签内的纯文本. 3.属性节点:标签内的属性,id或class 查找元素: getElementById ...

  4. js——DOM操作(一)

    DOM:Document Object Model  文档对象模型 文档:html页面 文档对象:页面中元素 文档对象模型:定义  为了能够让程序(js)去操作页面中的元素 DOM会把文档看作是一棵树 ...

  5. JS DOM操作 函数 事件 阻止事件冒泡

    一 函数 1.字符串函数 s.tolowerCase( ):    -- 变小写 s.toupperCase( ):   -- 变大写 s.substr( 2 , 8 ):     -- 截取     ...

  6. JS DOM操作(五) Window.docunment对象——操作元素

    定位: var a = document.getElementByIt( "id" ) 同辈元素 var b = a.nextSibling;            -- 找 a ...

  7. JS DOM操作(二) Window.docunment对象——操作样式

    一 对元素的定位 在 js 中可以利用 id.class.name.标签名进行元素的定位 id.class  用在客户端 name  用在服务端 用 id 定位                  -- ...

  8. JS DOM操作(一) 对页面的操作

    DOM ——文档对象模型(Document Object Model)是表示和处理一个HTML或XML文档的常用方法. 在网页上,组织页面(或文档)的对象被组织在一个树形结构中,用来表示文档中对象的标 ...

  9. js dom 操作技巧

    1.创建元素 创建元素:document.createElement() 使用document.createElement()可以创建新元素.这个方法只接受一个参数,即要创建元素的标签名.这个标签名在 ...

  10. js DOM操作练习

    1.有如下html,如果用js获得被选中的option的text描述(非value)<select id="select_id">    <option vlue ...

随机推荐

  1. ubuntu配置tftp服务

    ubuntu配置TFTP服务: TFTP是用来下载远程文件的最简单的网络协议,基于UDP协议.xinetd是新一代的网络守护进程服务程序,经常用于管理多种轻量型internet服务. sudo apt ...

  2. c#常见的错误集合

    1:a>b>c是不合法的,是不是合法的呢? 2 优先级是这样的:算术>关系>逻辑>三目>赋值:位运算比较乱 这句话是对是错

  3. UWP toast

    Windows10的自适应和交互式toast通知是一个新特性.它可以让你: 创建灵活的toast通知,包括内嵌图片及更多的内容,不在局限于之前Windows 8.1和Windows Phone 8.1 ...

  4. 常用的yum命令

    linux各发行版有多种包管理机制,下面介绍基于RedHat系的yum包管理命令:   yum -y install xxx         无需询问,安装xxx包   yum list        ...

  5. 一个java的Profile工具

    场景:我们在系统运行中,需要监控某个代码段的运行时间,我们完全可以使用currentTimeMillis来做,但是做起来比较麻烦,尤其是需要阶段监控的时候,那么这个工具就出现啦~~~ 先说下想要实现的 ...

  6. DOM节点

    DOM的一个想法 让我们从下面的HTML开始学习吧: <html> <head> <title>The title</title> </head& ...

  7. gerrit session expired 怎么解决,搜索未果

    gerrit session expired,怎么解决,搜索未果

  8. spring boot servlet 注入

    spring boot 注入servlet的方法是借助ServletRegistrationBean这个类 例子如下: 先建一个servlet import java.io.IOException; ...

  9. svn: 期望文件系统格式在“1”到“4”之间;发现格式“6”

    svn 客户端浏览的时候出现了这个提示,经查,发现是Subversion 1.7 < TortoiseSVN 1.8导致的,需要更换版本,应该是 Version(Subversion) > ...

  10. nodejs笔记

    “多读书多看报,少看视频多睡觉.”在2015年即将结束之际,我把这句话作为我2016年的个人签名,希望它能时刻提醒我自己应该去好好读书,查漏补缺,充实自己,遇到不清楚的漏洞就努力去弄懂弄通. 在web ...