`

HTML 5标准中最新引入的template标签介绍

阅读更多
现在,W3C没闲着,2013年5月,新的标准中,又引入了新的标签template模板,具体
标准见:https://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/templates/index.html#template-element
  下面综合进行小结下,供各位学习

   首先,服务端的模板是不少了,大家也用的不少,现在其实就是客户端的模板,先看例子:

 

function supportsTemplate() {
  return 'content' in document.createElement('template');
}

if (supportsTemplate()) {
  //支持标签
} else {
  
//不支持

  上面代码是监测浏览器是否支持这标签了。目前只有chrome 26以上才支持这个标签;

<template id="hhhhold-template">
  <img src="" alt="random hhhhold image">
  <h3 class="title"></h3>
</template>

<script>
  var template = document.querySelector('#hhhhold-template');
  template.content.querySelector('img').src = 'http://hhhhold.com/350x200';
  template.content.querySelector('.title').textContent = 'Random image from hhhhold.com'
  document.body.appendChild(template.content.cloneNode(true));
</script>


   template标签中,给出了模板id,其中这里定义了空的图片,因为这些都是在
运行时动态指定的,
  例子中的<SCRIPT>部门,就是通过template.content.querySelector去动态指定
填充模板的内容,记得最后要用:
   document.body.appendChild(template.content.cloneNode(true));才算激活模板;

   <template>标签可以放置在<head>,<body>或者<frameset>当中,也可以放在象table,tr等标签中,比如
  

<table>
<tr>
  <template id="cells-to-repeat">
    <td>some content</td>
  </template>
</tr>
</table>


    但模板暂时还不支持嵌套。
再来个复杂点的例子:
  
 
<button onclick="useIt()">Use me</button>
<div id="container"></div>
<script>
  function useIt() {
    var content = document.querySelector('template').content;
   
    var span = content.querySelector('span');
    span.textContent = parseInt(span.textContent) + 1;
    document.querySelector('#container').appendChild(
        content.cloneNode(true));
  }
</script>

<template>
  <div>Template used: <span>0</span></div>
  <script>alert('Thanks!')</script>
</template>

   点按钮,就会每次在模板中,不断显示template used:数字 (数字不断+1),
例子其实也很容易理解。
   
更详细的介绍可以参考:
http://www.html5rocks.com/en/tutorials/webcomponents/template/?redirect_from_locale=zh
 
2
1
分享到:
评论

相关推荐

    HTML5的template标签 详细介绍+示例源代码.zip

    2. ["HTML 5标准中最新引入的template标签介绍" - jackyrong的ITeye博客](HTML 5标准中最新引入的template标签介绍 - jackyrong - ITeye博客.url) 总的来说,`&lt;template&gt;`标签是HTML5为提高页面性能和代码组织而...

    html引入elementUI资源文件

    总之,HTML引入Element UI资源文件是前端开发中的常见步骤,涉及到HTML、CSS、JavaScript和Vue.js的结合使用。通过正确引入和注册,可以充分利用Element UI的组件库,提升前端界面的开发效率和用户体验。同时,了解...

    html5标签整理

    本文将详细介绍HTML5中常用的标签及其用途。 #### 二、按字母顺序排列的新标签 在HTML5中,新增了一些标签以适应现代网页的需求,这些标签包括: - `&lt;article&gt;`:用于表示文档、页面或应用中的独立内容块。 - `...

    HTML5标签文档

    HTML5是超文本标记语言最新版本,它引入了许多新的标签以满足现代网页设计的需求。由于技术原因,部分文档信息出现重复,但整体上不影响知识点的获取。以下是基于给定文件信息的详细知识点: ### HTML5标签概览 ...

    【Html5 响应式模版】 Colossus Free Website Template from OS Templates

    HTML5作为最新的超文本标记语言标准,为Colossus模板提供了丰富的语义化标签,如、、、和等,这些标签有助于搜索引擎优化(SEO),提高网页可读性,并且简化了代码结构。同时,HTML5还引入了新的表单元素和API,如...

    HTML5的常用标签

    以下是一些HTML5中常用的标签及其详细解释: 1. `&lt;header&gt;`与`&lt;footer&gt;`:这两个标签用于定义页面的头部和底部区域,通常包含logo、导航菜单、版权信息等。 2. `&lt;nav&gt;`:定义页面的主要导航部分,帮助用户在网站中...

    html5事件和标签属性

    HTML5是Web开发的标准之一,它引入了许多新的特性和改进,包括增强的事件处理和标签属性。事件属性在HTML5中扮演着重要角色,因为它们允许开发者通过JavaScript响应用户交互和页面状态变化,从而实现更丰富的用户...

    html5后台管理模板--Ace Admin template

    HTML5是超文本标记语言(HTML)的最新版本,它引入了许多新的元素和功能,旨在提高网页的互动性、可访问性和可编程性。HTML5 支持离线存储、拖放功能、媒体元素、语义化标签等特性,使得开发人员能够更轻松地创建富...

    art-template.js

    5. **使用方法**: 在HTML中,通常会将模板放在`&lt;script type="text/html"&gt;`标签内,或者作为外部文件引用。在JavaScript中,引入`template-web.js`后,可以调用artTemplate的相关方法进行操作。 **模板引擎的作用**...

    HTML、JS、CSS、Template.doc

    CSS可以被直接写在HTML标签内或外部样式表中,例如: - **调用CSS**:`&lt;link rel="stylesheet" href="style.css" type="text/css"&gt;`,此代码将外部的`style.css`文件作为当前页面的样式表。 - **浏览器兼容性**:...

    模板化工具arttemplate

    在HTML文件中通过`&lt;script&gt;`标签引入ArtTemplate的库文件,或者在Node.js环境中通过npm安装。 ### (2) 编写模板 创建一个HTML模板,例如: ```html &lt;script type="text/html" id="myTemplate"&gt; (var i=0; i; i...

    template.js模板

    1. **引入库**:首先,你需要在HTML中引入`template.js`库,通常是通过`&lt;script&gt;`标签。 2. **编写模板**:创建一个HTML模板,其中包含`template.js`的语法元素。 3. **编译模板**:使用`template.js`提供的API,...

    详解HTML5中的&lt;template&gt;标签

    HTML5中的`&lt;template&gt;`标签是一个非常重要的新特性,它为网页开发引入了一种标准且规范的方式来声明模板元素。在2013年前后,HTML5开始广泛采用`&lt;template&gt;`标签来替代一些非标准的模板创建方法,如`...

    模板化工具 -arttemplate

    1. **引入库**:首先需要在HTML文件中引入artTemplate的脚本文件,如`&lt;script src="arttemplate.js"&gt;&lt;/script&gt;`。 2. **编写模板**:在HTML中创建一个`&lt;script type="text/html"&gt;`标签,其中编写模板代码。 3. **...

    loadTemplate.js实例

    在现代Web开发中,前后端分离...1. **引入依赖**:在HTML文件中,确保引入了jQuery库和`loadTemplate.js`。一般情况下,jQuery需要放在`loadTemplate.js`之前引入,因为`loadTemplate.js`依赖jQuery的功能。 ```html ...

    bussy-free-html-email-template_bussy_HTML5_CSS3源码_

    CSS3则是层叠样式表的最新版本,它引入了许多新的选择器、布局模式和动画效果。例如,媒体查询(Media Queries)允许我们根据设备屏幕尺寸来应用不同的样式,实现响应式设计,确保邮件在各种设备上都能良好显示。...

    artTemplate模板引擎

    ArtTemplate体积小巧,无需额外依赖,只需通过`&lt;script&gt;`标签引入,即可开始使用。其API简洁明了,学习成本低,适合各种规模的项目。 ### 6. 社区支持与生态 ArtTemplate在JavaScript社区拥有广泛的应用,积累了...

    nodejs中art-template模板语法的引入及冲突解决方案

    首先,我们来介绍如何在Node.js项目中引入art-template模板引擎。在大多数情况下,默认引入的模板引擎是jade或者ejs,但有的开发者可能更习惯使用html作为模板格式。因此,引入art-template并将其设置为项目模板引擎...

    HTML5中文手册

    HTML5是下一代超文本标记语言,它在2014年被正式确立为Web标准,由万维网联盟(W3C)制定。这个“HTML5中文手册”提供了全面的HTML5规范、语法、元素及API接口的详细介绍,旨在帮助中文用户深入理解和应用这一现代...

    template.js

    2. **引入方式**:正确地在HTML或JavaScript文件中引入`template.js`。如果是浏览器环境,需要确保通过`&lt;script&gt;`标签引入,并且路径正确;如果是Node.js环境,可能需要通过`require`或`import`导入。 3. **模板语法...

Global site tag (gtag.js) - Google Analytics