一、Dom获取

  1、全称:Document     Object     Model  文档对象模型

  2、我们常用的节点类型

    元素(标签)节点、文本节点、属性节点(也就是标签里的属性)、

  3、document有个属性叫nodeType返回的是数字

    1:代表元素节点

    2:代表属性节点

    3:代表文本节点

  4、节点的获取

    元素节点的获取方法

      Document.getElementById()

      Document.getElementsByClassName()

      Document.getElementsByTagName()

      Document.querySelector()

      Document.querySelectorAll()

    属性节点的获取方法

      元素 . getAttribute("属性名")    获取属性值的方法

      元素 . attribuites           获取元素身上所有属性构成的集合(数组)

      元素 . attribute [ 索引 ] . value     获取元素里面的值

       元素 . setAttribute("属性名","属性值")  给元素设置属性和属性值

       元素 . remove("属性")        删除元素

    文本节点没有获取的方法,没有意义

  5、获取元素的子节点

    元素 . childNodes  这个属性有兼容性,标准浏览器回获取文本节点,而低版本的浏览器不会,所以建议children属性

    获取单个子节点:具有兼容问题

      获取第一个子节点:

        标准下:元素 . firstElementchild

        非标准下:元素 . firstchild

      获取最后一个子节点:

        标准下:元素 .lastElementchild

        非标准下:元素 . lastchild

      获取上一个兄弟节点:

        标准下:元素 . previousElementsibling

        非标准下:元素 . previoussibling

      获取上一个兄弟节点:

        标准下:元素 . nextElementchild

        非标准下:元素 . nextchild

      解决兼容性问题:

        拿获取第一个子节点为列:

          var    list=document . getElementById("list")

          var   ss=list . firstElementchild ||  list . firstchild

  6、获取父节点

      元素 . parentNode     没有兼容性

二、Dom 动态创建节点

  1、生成节点的方法:

    document . createElement("div")

  2、插入节点的方法:

    父节点 . appendChild("新节点")

  3、在指定的位置插入节点

    父节点 . inserBefore(新节点,谁的前面)    将元素插入指定节点的前面

  4、删除节点

    父节点 . removechild()   

 三、拓展

  字符串中的拼接和Dom创建都是渲染的方试

  字符串:

    优点:简单,可以处理数据,层次感比较强

    缺点:字符串拼接会影响到原来子元素的事件

  Dom创建:

    优点:是一个独立的个体,不会影响到原来的元素

    缺点:处理数据量过大会比较麻烦,会造成Dom回流

  Dom回流:

    页面渲染时,我们对html结构简单的增删查改时,浏览器会对所有的dom重新排序,这就是Dom回流,严重影响浏览器的性能

  提升页面性能优化:

    1、多采用雪碧图

    2、阻止超链接的默认行为

    3、减少DOM回流

    4、减少向服务器请求次数

Dom 获取、Dom动态创建节点的更多相关文章

  1. 11-15 dom 动态创建节点

    1.生成节点的方法  document.createElement(“div”) 2.插入节点的方法   父元素.appendChild(新节点) 在父节点中的子节点后面插入新的节点 3.在指定的位置 ...

  2. delphi dom动态创建节点方法

    在一次测试demo中 需要动态的创建xml节点并添加,实现方法如下: var NewItem:IXMLDOMElement; NewItem:=ConfigDoc.createElement('ite ...

  3. HTML中javascript使用dom获取dom节点范例

    <!-- HTML结构 --> <div id="test-div"> <div class="c-red"> <p ...

  4. js···DOM2动态创建节点

    1.生成节点的方法  document.createElement(“div”) 2.插入节点的方法   父元素.appendChild(新节点) 在父节点中的子节点后面插入新的节点 3.在指定的位置 ...

  5. jquery动态创建节点

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  6. DOM创建节点

    1.DOM--document object model 常用的节点类型: 元素节点:(标签) 属性节点:(标签里的属性) 文本节点:(文本节点) 2,document有个属性叫nodetype,返回 ...

  7. 关于document的节点;用Dom2创建节点;

    一.关于节点 1.节点树状图 document>documentElement>body>tagName 2.节点类型 元素节点(标签).文本节点(文本).属性节点(标签属性) 3. ...

  8. FineUIMvc随笔 - 动态创建表格列

    声明:FineUIMvc(基础版)是免费软件,本系列文章适用于基础版. 用户需求 用户希望实现动态创建表格列,在 WebForms 中,我们通过在 Page_Init 中创建列来实现: 但是在 MVC ...

  9. FineUIMvc随笔(1)动态创建表格列

    声明:FineUIMvc(基础版)是免费软件,本系列文章适用于基础版. <FineUIMvc随笔>目录 FineUIMvc随笔(1)动态创建表格列 FineUIMvc随笔(2)怎样在控件中 ...

随机推荐

  1. 转:Apache-Tomcat各发布包说明

    下载地址:http://tomcat.apache.org/发布包说明: apache-tomcat-[version].zip---------------------------基本发布包.这些发 ...

  2. codeforces 669D D. Little Artem and Dance(乱搞题)

    题目链接: D. Little Artem and Dance time limit per test 2 seconds memory limit per test 256 megabytes in ...

  3. Burpsuite实验一

    一.实验准备 win7系统 burpsuite 二.实验目的 进行重放攻击,观察结果 三.实验内容 本次实验并没有采取在虚拟机下进行,而是直接在win7系统中进行.首先配置一下环境,选择你常用的浏览器 ...

  4. C#使用SendMessage发送组合键

    有时需要出发菜单功能,例如发送ALT + F打开应用程序的文件菜单,如何使用SendMessage实现呢? 使用用spy++截取的ALT+F的消息内容(如何使用spy++,请熟悉的高手指点下,我使用s ...

  5. HDFS之二:HDFS文件系统JavaAPI接口

    HDFS是存取数据的分布式文件系统,HDFS文件操作常有两种方式,一种是命令行方式,即Hadoop提供了一套与Linux文件命令类似的命令行工具.HDFS操作之一:hdfs命令行操作 另一种是Java ...

  6. 整体二分 HDU - 5808

    题目大意 有n个物品,排成一个序列,每个物品有一个di表示取到i要走的距离,vi表示i的价值. 给m组询问[l,r] ,c,sum,问由[l,r]的di<=c的物品能否凑出sum的价值(每个物品 ...

  7. hadoop推荐

    hadoop官网 我以Hadoop 2.7.3为例. hadoop 2.7.3 官网  . 用的操作系统是64bit Ubuntu14.04. 其中我们还可以学习 Apache Maven Proje ...

  8. EasyUI 扩展自定义EasyUI校验规则 验证规则(常用的)

    $.extend($.fn.validatebox.defaults.rules, { CHS: { validator: function (value, param) { return /^[\u ...

  9. Gradle系列之一 Groovy语法精讲

    Gradle技术之一 Groovy语法精讲 gradle脚本是基于groovy语言开发的,想要学好gradle必须先要对groovy有一个基本的认识 1. Groovy特点 groovy是一种DSL语 ...

  10. E20170510-hm

    prototype  n.     原型,雏形,蓝本; omit (omitted)  vt.     省略; 遗漏; autonomous  adj.     自治的; 有自主权的; fold   ...