• 我转过几个弯 绕过那个小雨楼
  • 拿着蒲扇摆着衣衫渡着紧箍咒
  • 不问天涯不停留 喝过几壶酒
  • 不过年少白头道义放胸口
  • 倘若明天之后 遥看前尘剑封侯
  • 似那天上神仙无所求
  • 朝朝暮暮君如梦醒十分不为何理由
  • 是真是假是惶恐是无休
  • 路过这风雨花满楼 片刻都不停留
  • 我本这书生进京赶考留下许多愁
  • 你问有没有时候 我叹这天道默悠悠
  • 能否与我一醉方休
  • 又过了几个弯 算尽天量道莫慌
  • 踏这田园闻这芳草香
  • 跌跌撞撞仗剑天涯折煞不枉无笔良
  • 是梦是幻是温柔是家乡
  • 路过这风雨花满楼 片刻都不停留
  • 我本这书生进京赶考留下许多愁
  • 你问有没有时候 我叹这天道默悠悠
  • 能否与我一醉方休
  • 路过这风雨花满楼 片刻都不停留
  • 我本这书生进京赶考留下许多愁
  • 你问有没有时候 我叹这天道默悠悠
  • 能否与我一醉方休
  • 谁能与我一醉方休

利用innerHTML传入重复数据

196 2

由于每次使用innerHTML都会创建一个浏览器级别的解析器,但是要是使用innerHTML的量大的话,往往会浪费很多资源,特别是在重复传入数据的时候,所以我们可以先使用一个变量来保存这些数据,最后一口气直接传入,这样只使用了一个解析器,省资源又省心。

html部分:

\<ul id="box"> </ul>\  //博客直接写ul会空白,被解析到了,所以我在前后加了斜杠,这个斜杠不要管它

 

这是一个空的ul元素,我们给他传入十个li元素;一般写法:

var box = document.getElementById('box'); 
for(var i = 0;i<10;i++) {
    box.interHTML ='<li>1</li>';
};

这样写,你以为会传入十个li,实际上只有一个,因为每次传入的值又会被下一次重复的传入的时候替换掉,所以,最好的方法就是使用数组保存数据,然后一次性传入,写法如下:

var box = document.getElementById('box'); 
var ger = [];
for(var i = 0;i<10;i++) {
   ger.push('<li>t</li>');
};
box.innerHTML = ger.join('')

创建一个数组ger,然后重复的时候每次都在后面传入数据,最后通过join('')将数组转换为字符,括号里不填内容,这样数组就不会被填入的字符隔开,innerHTML解析的时候就不会出现问题,然后一次性innerHTML解析,完美。

如果你join('-');加了字符,解析的时候,每个li元素的后面都会带一个[-],这就不是我们想要的结果了。

0
  • 本文分类:JavaScript
  • 本文标签:innerHTML浏览器级别的解析器
  • 流行热度:已超过 196 人围观了本文
  • 最后更新:2018年09月5日 - 13时45分37秒
  • 发布日期:2018年09月5日 - 4时17分00秒
  • 版权申明:本文系作者@木灵鱼儿原创发布在木灵鱼儿 - 有梦就能远航站点。未经许可,禁止转载。
微信收款码
微信收款码