1.生成节点的方法  document.createElement(“div”)

2.插入节点的方法   父元素.appendChild(新节点)

在父节点中的子节点后面插入新的节点

3.在指定的位置插入新的节点

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

4,删除元素节点  父元素.removeChild()

案例分析

仿留言板

兼容性 。

元素没有子节点,ie低版本会读取不到,而标准浏览器会。

因为标准浏览器会把文本节点当作子节点,而ie6-8不会。

超链接a的属性href分析

<a href=””> 点击会刷新页面,相当于向后台发送一次请求。

<a href=”#s”> 锚点跳转 跳转到某一个id叫s的位置上

<a href=”javascript:;”> 取消刷新页面的功能

拓展

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

字符串拼接

优点 简单,层次感强,可以处理大量数据

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

Dom创建

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

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

Dom回流

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

补充

提升页面性能优化

  1. 多采用雪碧图
  2. 阻止超链接的默认行为
  3. 减少Dom回流
  4. 减少向服务器请求的次数

js···DOM2动态创建节点的更多相关文章

  1. js如何动态创建表格(两种方法)

    js如何动态创建表格(两种方法) 一.总结 一句话总结: 1.方法一:写好创建表格的html代码,将之赋值给div的innerHTML. 2.方法二.直接用创建好的table元素的方法insertRo ...

  2. Dom 获取、Dom动态创建节点

    一.Dom获取 1.全称:Document     Object     Model 文档对象模型 2.我们常用的节点类型 元素(标签)节点.文本节点.属性节点(也就是标签里的属性). 3.docum ...

  3. JS动态引入js,CSS——动态创建script/link/style标签

    一.动态创建link方式 我们可以使用link的方式.如下代码所示. 二.动态创建style方式 但是,这样的话,需要加载整个css文件,但是那样有可能浪费一个http请求并占用一个服务器请求数,并等 ...

  4. js/jq动态创建表格的行与列

    之前做了一个项目,需求是能动态创建表格行,动态创建表格的列,度了很多资料,都没有动态创建列的插件,所以自己动手写了一个 需求大概是(下图) 1.动态添加一行.2.动态添加一列,3.删除行.4.删除列, ...

  5. js原生动态创建表格

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

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

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

  7. JS/JQ动态创建(添加)optgroup和option属性

    JavaScript和Jquery动态操作select下拉框 相信在前端设计中必然不会少的了表单,因为经常会使用到下拉框选项,又或是把数据动态回显到下拉框中.因为之前牵扯到optgroup标签时遇到了 ...

  8. js的传值,table中tr的遍历,js中动态创建数组

    1.这里关键是对页面中的传值,其次是动态的创建一个数组,用来存值 $(val).css("background-color", "rgb(251, 248, 233)&q ...

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

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

随机推荐

  1. JS中一些常用的兼容写法

    1.滚动条到顶端的距离var scrollTop = document.documentElement.scrollTop || document.body.scrollTop;2.滚动条到左端的距离 ...

  2. 记录linux配置

    只写成功过程:1.配置sshd: 首先开启安全组端口,选择合适端口(tcp),shell输入vi /etc/services ->ssh修改(21变更为合适端口) 接着shell输入vi /et ...

  3. centos7 无界面静默安装 oracle

    环境准备 Centos7.3.64  64位   这里使用的是阿里云 ECS主机(1核,2G内存,40G硬盘) Oracle 11g R2 64位安装介质(版本11.2.0.1)下载地址:http:/ ...

  4. C++ 之sizeof运算符

    sizeof运算符用来计算某个对象在内存中占用的字节数. 此运算符的使用形式为:sizeof(类型名)或sizeof(表达式). 计算结果是这个类型或者这个表达式结果在内存中占的字节数.

  5. java8 stream lambda 一个例子

    import java.io.File; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Pa ...

  6. seckill(1)秒杀系统主要步骤

  7. C# 泛型反射的调用

    namespace ConsoleApplicationFan_fan{ class Program { static void Main(string[] args) { //获取类型 Consol ...

  8. [Kafka] [All about it]

    Overview 设计目标: 以O(1) 常数级时间复杂度的访问性能,提供消息持久化能力. 高吞吐率. 支持 kafka server 间的消息分区,及分布式消费,同时保证每个partition内部的 ...

  9. Linux:Gentoo系统的安装笔记(一)

    这次我选择安装Gentoo,用来做我学习的笔记.这次我是使用虚拟机安装Gentoo,一是方便操作,二是可以看着手册,一边看一边操作,严格按照手册上的步骤执行,一般是不会出现问题的. 查看手册最好学会看 ...

  10. python爬虫基础_webwechat

    简单的模拟:借用微信网页版,写个扫码页面,登录页面,实现简单的登录.联系人列表.发消息,收消息. 以下是笔记: #!/usr/bin/env python # coding:utf-8 from fl ...