动态生成html性能,动态生成HTML

66b52468c121889b900d4956032f1009.png

8种机械键盘轴体对比

本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选?

动态生成页面

有时候会有这样一个需求:在不重新加载整个页面的情况下,动态加载数据,然后变化页面的部分展示。可以另起一个frame来展示,但是对整个页面的改动就比较大了。此时可以使用1document.createElement(“XXX”)

来动态创建,展示。

示例

现在需要在一个table标签里面根据每次不同的数据,动态加载它的tbody。

首先,我们需要判断需要创建的元素是否存在,如果存在了,就需要移除,不然创建不了。需要创建的tbody id为neededBody,所以:1

2

3

4let containsBody = document.getElementById(“neededBody”);

if(containsBody){

containsBody.parentNode.removeChild(containsBody);

}

如果存在,移除过后,才创建:1

2let tbody = document.createElement(“tbody”);

tbody.setAttribute(“id”,”neededBody”);

接下来就是为tbody设值。假设需要设置的值为json格式。则可以使用循环设置:1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17targetJsonValues.forEach((value)=>{

let tr = document.createElement(“tr”);

let tdA = document.createElement(“td”);

//设值

tdA.innerHTML = value.A;

tr.appendChild(tdA);

let tdB = document.createElement(“td”);

//设置一个链接进去

let a = document.createElement(“a”);

a.setAttribute(“href”,”url”);

a.innerHTML = “I’m a href”;

tdB.appendChild(a);

tbody.appendChild(tr);

});

好了,现在表的body创建完成了,假设需要把这个body添加到id为targetTable的表中,那么可以这样写:1document.getElementById(“targetTable”).appendChild(tbody);

到这里,在ajax动态请求数据的时候,只需要将这个函数添加到请求的返回体中,将返回值传入这个函数,即可完成动态生成表的需求。

除了动态生成表,以此类推,还可以动态生成很多页面元素。

补充一点,ajax常常是异步的,但是有时候我们需要让他先执行完,才执行后面的步骤,此时可以将ajax设置成同步的:1

2

3$.ajaxSettings.async = false;

$.ajax({});

$.ajaxSettings.async = true;

注意最后要设置为true,不然后面的ajax也不是异步的了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值