html5 template 教程,html5 template模板的介绍

页面中的模板

在没有template模板的时候,我们想要找页面中添加一些模板内容,是使用用来承载模板内容。

而做H5隆重推出了template模板元素中,template就成了我们实现页面中模板的首选实现方式。

    

....

对于script承载的template的操作要通过innerHTML来操作var pop=document.getElementById("popUserReg");

$("#pwin").innerHTML=pop.innerHTML;

html5 template模板的使用

数据加载完成!

template的作用相当于iframe类似,另建了一个document根元素,iframe要通过iframe.contentWindow.document获取根元素,而template则通过template.content来获取根元素。而且template中的内容虽然不展示,但是它确确实实是浏览器生成了dom树,并且进行了语法检查。var tip=document.getElementById("poptip");

$("#pwin").append(tip.content);

然而IE浏览器对template模板不支持,中IE下上面的代码会如下

16995b237333d7378f2937cc58683988.png

IE不是别template标签,当作普通标签给显示出来了。所以目前template要想使用得不考虑IE浏览器,或者是在移动端的时候进行使用。

在移动端使用template的好处还有一个,就是我们可以把多个模板放置到一个template,然后通过dom api获取需要的模板元素。

c8ee81b9fad2b9033cb62d0c4fcebfe5.png

从chrome的dom结构中查看template的结构,其根元素时#document-fragment,也就是template另创了一个document空间。

数据加载完成!

var tip=document.getElementById("poptip");

var icon=tip.content.querySelector("i");

document.body.appendChild(icopy);

我们单纯的把标签给添加到容器中,效果如下:

1f844027ecc812e810de7225536ff5d2.png

但是这样做,有一个问题

473903d93c6fad4e88047a99fb6c38d2.png

模板中的标签不见了,因为它已经被添加到body中了。这个时候我们就需要使用元素的clone来复制了,但是模板中的元素是在另一个document中,所以我们要使用document.importNode方法来进行跨document元素复制,document.importNode中IE9+浏览器就能支持了。

var tip=document.getElementById("poptip");

var icon=tip.content.querySelector("i");

var icopy=document.importNode(icon,true);

document.body.appendChild(icopy);

这样复制<

8c9f96c1d752d95fc7e1d370d2904ce5.gifi>标签添加到body中,template的原来的标签就不会受影响了。

c6633351f286ce9da9c809d13b2039f5.png

template有template的灵活,script template有script的强大,到底是用哪个,根据你自己喜好,和实际需求进行选择。没有绝对的哪个好,哪个差。我就比较喜欢使用script template,因为大多情况下,我们对于模板的操作也只是获取其innerHTML而已,不需要过多的操作,并且script模板支持IE浏览器。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值