DOM增删改替换

一、在创建元素的时候为什么要把创建元素到也页面写到后面?

要求:创建一个div,在div中创建10个span.

var div = document.createElement("div");
//document.body.appendChild(div);

for(var i=0;i<10;i++){
    var span = document.creatElement("span");
        div.appendChild(span);
}
document.body.appendChild(div);

原因是如果写在前面就创建一个span 就要打开一次body,div写入,这样的效率太慢啦。但是如果先讲span 在内存中直接写入,这样就打开2次,这样一次行就节省了很多的效率。

先创建一个容器,将子元素,放到父容器中,最后讲父容器放到页面中。

如果一定要写入到body页面中。就用碎片容器。

//创建碎片容器:
var elem = document.createDocumentFragment();
for(var i =0;i<10;i++){
var div = document.creatElement("div");
}
document.body.appendChile(elem);

二、删除元素三部曲

//元素删除的时候应该先删除事件,在删除元素。因为纯粹的删除的元素只是从Dom书中删除,并没有删除内容。删除元素的步骤:

第一步:删除事件

第二步:删除元素

第三步:将元素设为null

var div = document.createElement("div");
var span = document.createElement("span");
span.addEventListener("click",clickHandler);

div.appendChild(span);
document.body.appendChild(div);
function clickHandler(e){
    span.textContent="欢迎";
}
//删除之前的将事件删除
span.removeEventListener("click",clickHandler);
//使用onclick事件的时候,删除方法删除事件
//span.onclick=null

//删除元素
div.removeChild(span);
span=null;

div.appendChild(span);
//此时的span不再是节点,是null,再添加的时候就会报错

三、替换元素:

父容器.removeChild(新元素,要替换掉的旧元素)

 四、复制元素:

源元素.cloneNode(deep)

deep 是深度的意思;

true:时是深度赋值,将子元素和内容一起赋值,源元素的属性复制

false: 是潜复制,将源元素和属性复制

注意:

如果使用 cloneNode 复制元素的时候,必须修改元素的 id .

  

 

 

原文地址:https://www.cnblogs.com/anne-jia/p/11841010.html

时间: 2024-11-05 18:49:59

DOM增删改替换的相关文章

DOM增删改

上一篇主要是针对查询的,本文主要针对的是DOM的增删改 添加节点:        1,appendChild() 用于向ChildNodes列表的末尾添加一个节点,返回新增的节点,如果传入到appendChild()中通的节点已经是文档的一部分了,那结果就是将该节点从原来的位置转移到新的位置.因此 如果在调用appendChild()传入了父节点的第一个子节点,那么该节点就会成为父节点的最后一个子节点 1 <div> 2 <ul> 3 <li>1</li>

js基础(dom增删改)

新增节点: /* * document.createElement() * 可以用于创建一个元素节点对象, * 它需要一个标签名作为参数,将会根据该标签名创建元素节点对象, * 并将创建好的对象作为返回值返回 */ var li = document.createElement("li"); /* * document.createTextNode() * 可以用来创建一个文本节点对象 * 需要一个文本内容作为参数,将会根据该内容创建文本节点,并将新的节点返回 */ var gzTex

dom增删改查

一.创建节点 document.createElement(Tag),Tag必须是合法的HTML元素 二.DOM添加.删除节点的方法: appendChild(newNode) 将newNode添加成当前节点的最后一个子节点 insertBefore(newNode,refNode) 将refNode节点之前插入newNode节点 replaceChild(newNode,oldNode) 将oldNode节点替换成newNode节点 removeChild(oldNode) 将oldNode子

JavaScript HTML DOM增删改查

首先 js 可以修改HTML中的所有元素和属性,它还可以改变CSS样式,并且可以监听到所有事件并作出响应,这篇笔记呢 主要记录如何对HTML元素进行增删改查. 1 查找DOM 第一种方式是我们最常用的:通过ID查找: <!DOCTYPE html> <html> <head> <title>learn javascript</title> </head> <body> <p id="demo"&g

HTML DOM节点的增删改查

上篇博客中,我们已经初步接触了DOM基础,可是我们学习是为了可以更好地应用,今天我们就来看看DOM节点的增删改查. 无论在哪里,我们想要操作一个东西,总是应该先去获得它.那么我们怎么获得呢? HTML的每一个成分都能够看作是节点(文档节点.元素节点.文本节点.属性节点.凝视节点.当中,属性节点属于元素节点). W3C 提供了比較方便简单的定位节点的方法和属性,以便我们高速的对节点进行操作. 分别为:getElementById().getElementsByTagName().getElemen

DOM访问HTML元素的方式,DOM访问表单控件的常用属性和方法,DOM访问列表框、下拉菜单的常用属性,DOM访问表格子元素的常用属性和方法,DOM对HTML元素的增删改操作

DOM访问HTML元素的方式 为了动态地修改HTML元素,须先访问HTML元素.DOM主要提供了两种方式来访问HTML元素: 根据ID访问HTML元素:通过document对象调用getElementById()方法来查找具有唯一id属性值的元素. 利用节点关系访问HTML元素.常用的属性和方法如下: parentNode 返回当前节点的父节点 previousSibling 返回当前节点的前一个兄弟节点 nextSibling 返回当前节点的后一个兄弟节点 childNodes 返回当前节点的

HTML DOM(二):节点的增删改查

上一篇讲述了DOM的基本知识,从其得知,在DOM眼中,HTML的每个成分都可以看作是节点(文档节点.元素节点.文本节点.属性节点.注释节点,其中,属性节点是属于元素节点),本篇的内容就是通过DOM对这些节点进行增删改查的操作. 获取(R) 1. getElementById(id).getElementsByName(name).getElementsByTagName(tagName),这三种方法都会忽略文档的结构. getElementById(id):通过id获取元素节点,如果页面上含有多

使用dom元素和jquery元素实现简单增删改的练习

软件开发实际就是数据的增删改查,javascript前端开发也不例外.今天学了jquery框架的简单使用.于是用它实现简单的增删改,接着也用原始的javascript实现同样的功能,以便看出jquery的强大: 代码如下: <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" con

使用DOM进行xml文档的crud(增删改查)操作&amp;lt;操作详解&amp;gt;

很多朋友对DOM有感冒,这里我花了一些时间写了一个小小的教程,这个能看懂,会操作了,我相信基于DOM的其它API(如JDOM,DOM4J等)一般不会有什么问题. 后附java代码,也可以下载(可点击这里入下载)导入到Eclipse或MyEclipse. Node和Element的关系 Element是Node的子接口,所以Element的方法要比Node方法要多,这样的话使用起来比较方便,一般情况我们都把节点转换成元素(或者叫标签,即Element); Element是Node的子类型: 比如我