克隆节点和动态创建元素的运用

克隆节点有深度克隆和浅克隆,它是用布尔类型来判断的,true代表深克隆,false代表浅克隆。深克隆会把标签,内容都克隆,浅克隆只会克隆标签。

创建动态元素有三种方式,分别为:document.write(),innerHTML,document.createElement。但我们一般用第三种,但第一和二种有些缺陷,但我们也要了解下。

第一种:document.write(),写在函数里面的话,会冲刷掉之前的页面元素,所以一般不用或是少用。

第二种:innerHTML,只是字符和数组的区别,字符和数组的效率是差很多的,字符的拼接效率很低的,因为字符串具有不可变性。非要用这种,要把字符串转成数组,放在数组中。

上面的意思就是先将字符串放在数组中,再将数组中的元素拼接成字符串输出,最后再赋值给innerHTML。这样的运行效率会提高很多。

removeChild  是移除节点:

就是移除父元素为ul中的一个为lis的子元素。

insertBefore  插入节点。

在父元素为ul中插入一个节点,其中n1是插入的节点,lis[0]是要插入的位子。

键盘上也有两个注册事件,就是当按键按下时的注册事件和抬起时的注册事件。

onkeydown: 鼠标按下时才会触发,不会获得当前输入的内容。只会输出在你按下去之前的内容。

onkeyup :键盘按下并抬起时才触发,会获得输入的内容

时间: 2025-01-02 16:01:24

克隆节点和动态创建元素的运用的相关文章

Javascript:DOM动态创建元素实例应用

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Dom:动态创建元素</title> </head> <body> <ul id="demo1"> </ul> <input type="text" id=&quo

JS动态创建元素

动态创建元素的三种方法: 第一种document.write("") document.write("<input type=‘text’>  value='456'>"); 相当于创建了一个默认名是456的输入框 function f1(){        document.write("<input type='text' value='999999'>");    } 但是当document.write(&qu

JS动态创建元素的方式

动态创建元素的三种方式: 1.document.write(): a.写在函数里面的话,会冲刷掉之前的页面元素,所以一般不用或是少用: b.会打开document.open()或关闭document.close()文档流: c.文档流: 默认的浏览器的加载顺序是从上往下依次加载的,把当前页面加载完毕之后,就相当于关闭了文档流. 例: <input type="text" value="123"/><input type="button&q

DOM中动态创建元素与jQuery中动态创建元素

DOM中动态创建元素与jQuery中动态创建元素 DOM中动态创建元素: 1. document.write("标签的代码")    缺点:页面中原有的元素会被覆盖掉 2. innerHTML 3. document.createElement("标签的名称") jQuery中动态创建元素: 1. $("标签的代码") 2. 对象.html("标签的代码") 原文地址:https://www.cnblogs.com/david

Asp.net mvc在view中用C#代码动态创建元素

来自森大科技官方博客 http://www.cnsendblog.com/index.php/?p=1231. 在view中可以用c#代码foreach动态创建元素2. 不加@{}下图中c#代码变成了白色,无法识别了. 原文地址:https://blog.51cto.com/14036626/2357251

layUi 模板引擎动态创建元素之后,绑定的事件无效了;

模板引擎动态创建元素之后,绑定的事件无效了: layUi 模板引擎动态创建元素之后,绑定的事件无效了: 可以在 模板引擎成功后  注册事件 原文地址:https://www.cnblogs.com/lpp-11-15/p/12264046.html

delegate委托事件(动态创建元素注册事件)

有这样一个小例子: <!--需求:给li里的a标签注册点击事件,并且点击"添加"按钮,新增li标签,新增的li里的a同样有注册事件--> <input type="button" id="btn" value="添加"/> <ul class="box"> <li> <a href="javascript:void(0)">点击

动态创建元素插入到指定元素的前边

我们一般用原生js创建元素用document.creatElement方法,创建完毕之后一般用appendChild方法添加到元素里边,不过这种方法会自动添加到元素的末尾. 如果我们想添加到元素的开头怎么办呢? 用insertBefore方法 具体用法: 父元素.insertBefore(新创建的元素,父元素.children[0]) 用这种方法我们就能在元素的开头创建元素啦

动态创建元素中的异步事件参数传递问题

var a = $('<a>'); a.attr('href', '#'); a.attr('username', u1); a.click(function() { $.getJSON('/test.action', { //直接写u1会出现问题 username : $(this).attr('username') }, function(data) { check(data); }); }); 创建元素没有问题,元素中的异步事件如果需要参数,注意传递的方式: