dom04动态创建createElement

news/2024/7/7 10:37:07

04-07
动态创建页面结构,

<script>

box.innerHTML=box.innerHTML+"<ul><li>111</li></ul>";//追加        

box.innerHTML +="<ul><li>111</li></ul>";//追</script>

08,09效率问题:
1拼接字符串,2把字符串变成dom对象,3把dom对象挂在dom树上,4还要渲染。本身消耗性能的,
先去拼接字符串,在循环里只拼接字符串,把其他的放到外边只执行一次会提高效率。

var start= +new Date();
var arr=[];//空数组存放拼接字符串
for (var i = 0; i < 100; i++) {
    //1拼接字符串
        arr.push("<ul><li>111</li></ul>");
    }
    box.innerHTML +=arr.join("");//追加
    //2把字符串变成dom对象,
    //3把dom对象挂在dom树上,
    //4还要渲染。
var end= +new Date();
console.log (end-start);

createElement ,动态创建文本框,创建列表,

for (var i = 0; i < 100; i++) {
    var ul=document.createElement("ul");
    box.appendChild(ul);
    var li=document.createElement("li");
    ul.appendChild(li);
    li,innerHTML="111";
    }   
var end= +new Date();
console.log (end-start);

动态创建文本框

//先判断 如果没有才创建,如果有就不创建,先获取id
var input=document.getElementById("t");
if(input){//判断取消重复创建。
//如果能进来说明是对象 可以找到
    return;
}
 input=document.createElement("input");
 input.id="t";
 input.type="text";
    box.appendChild(input);//创建追加生效重复创建追加了。

创建动态列表:

<script>
    var phones=["小米","苹果","vivo","华为","三星","oppo"];
    var btn=document.getElementById('btn');
    var box=document.getElementById('box');
    btn.onclick = function () {
    //防止重复创建,先添加一个id做判断,如果已存在就不创建,如果不存在就创建
    var ul=document.getElementById('u');
    //如果已存在 是对象,如果不存在是null,对象的布尔值是true;
    if (ul) {
    //如果能进来说明有了,就不再重复创建了。
        return;
    }
    //创建动态列表ul,先获取ul,
    ul=document.createElement("ul");
    ul.id="u";
    ul.className="cls";
    //追加到盒子上,追加子节点
    box.appendChild(ul);
    //对数组进行循环遍历,把phones中的元素得到
    for (var i = 0; i < phones.length; i++) {
        var phone=phones[i];//数组中的每一项元素
        //创建li并追加到ul中
        var li=document.createElement("li");
        li.innerHTML= phone;
        //追加到盒子上,追加子节点
        ul.appendChild(li);

    }
};
</script>

http://www.niftyadmin.cn/n/4828074.html

相关文章

暑期留校之iOS学习笔记_ UiButton

8.16. 图片放大功能的实现&#xff0c;通过按钮阴影来实现首先通过一个按钮建立方法&#xff0c;在方法里面写入 1在创建一个大小和view一样大小的按钮&#xff0c;把这个按钮作为一个阴影 Uibutton *uicover[[uibutton alloc] init] 然后设置按钮大小 Uicover.frame sel…

windows phone 手机解锁失败问题

1.使用 VS 2015 自带的 Windows Phone Developer Registration (8.1) 工具&#xff0c; 解锁手机。 总是提示 日期和时间错误。 解决办法&#xff0c; 有2个 1.打开wifi,并且 链接到有效的wifi 2.插入能访问网络的 4G卡。 估计是微软在解锁手机过程中&#xff0c;需要连接网…

dom04设置定时器

定时器&#xff1a; 定时执行 var timerldsetInterval(code.interval); clearInterval(timerld); 间隔时间执行&#xff0c;不是特别精确 //间歇定时器 setInterval(1回调函数&#xff0c;2时间间隔单位是毫秒); 间歇定时器 延迟执行 var timerldsetTimeout(code.inter…

C#正则表达式校验某个字符串是否是合格的email

C#正则表达式校验某个字符串是否是合格的email 可以借助正则表达式校验某个字符串是否是合规的电子邮箱。对于邮箱的正则表达式有严格的模式&#xff0c;如&#xff1a;^[a-zA-Z0-9_&*-](?:\\.[a-zA-Z0-9_&*-])*(?:[a-zA-Z0-9-]\\.)[a-zA-Z]{2,7}$ 对应的C#实现如下…

SQLException: Communications link failure

连接数据库时出现如下错误提示&#xff1a;SQLException: Communications link failureThe last packet sent successfully to the serverwas 0 milliseconds ago. The driver has not received any packets from theserver.附上部分代码段&#xff1a;publicstaticConnection …

dom04location对象,定时跳转及其它三个对象

location地址栏对象 window.location(地址&#xff0c;对应的是浏览器的地址栏&#xff09;。 location.href”网页地址/电子邮件等”&#xff1b; console.log(window.location.hash);//锚点&#xff0c;一般用于做单页面应用时比较常用。 console.log(window.location.ho…

暑期留校之iOS学习笔记之视图控制器(UI)

2015.8.18 <pre name"code" class"objc">//首先要导入头文件 #import "AppDelegate.h" #import "RootViewController.h"interface AppDelegate ()endimplementation AppDelegate- (BOOL)application:(UIApplication *)applicati…

dom04 移动盒子案例

移动盒子案例 鼠标经过长图往上走&#xff0c;鼠标经过长图往下走 <script>var timernull;var y0;//用变量记录top的初始值var picdocument.getElementById(pic);var goUpdocument.getElementById(goUp);var goDowndocument.getElementById(goDown);goUp.onmouseoverfu…