<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="keywords" content="">
<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1" >
<meta name="description" content="" >
<title></title>
<script type="text/javascript" src="js/template.js" ></script>
<script type="text/template" id="app_tpl"><!-- 描述:建立模板 --> <div class="product">
<div class="imageContainer">
<img src="{#img#}" /><!--{##} 自己定义匹配 -->
<div class="layer">
<p>找同款</p>
<p>找相似</p>
</div>
</div>
</div>
<div class="content">
<p class="price">
<span class="price-text">¥{#price#}</span>
<span class="sum">{#sales#}人付款</span>
</p>
<p class="title">{#title#}</p>
<p class="store">
<span class="store-title">{#store#}</span>
<span class="adress">{#address#}</span>
</p>
</div>
</script>
</head>
<body>
<div id="app" class="ppa"></div>
</body>
</html>
<script type="text/javascript">
document.write(footerTpl);
</script>
<script type="text/javascript">
//命名空间:封装工具方法
var Util = {
//封装选择元素的方法
id:function(id){
return document.getElementById(id);
}, //封装ajax请求数据方法
ajax:function(url,callback){ //创建ajax对象
var xhr = new XMLHttpRequest();
//订阅事件
xhr.onreadystatechange = function(){
if(xhr.readyState == 4){
if(xhr.status == 200){
//var data = xhr.responseText;
var data = JSON.parse(xhr.responseText);
//console.log(xhr.responseText);
//处理数据
callback&&callback(data);
} }
}
//open方法
xhr.open('get',url,true);
//send方法
xhr.send(null);
} }
//console.log(Util.id('app_tpl').innerHTML);
//封装格式化模板方法
function formDataString(str,data){
return str.replace(/\{#(\w+)#\}/g,function(match,$1){
//console.log(this);//this作用域
//console.log(arguments);
console.log('match:'+match);//match实参集合
console.log($1);
return data[$1] === undefined?'':data[$1];
});//w+ 任意多个字符
}
var html = '';
var str = Util.id('app_tpl').innerHTML;
Util.ajax('data/list.json',function(data){
//console.log(data);
//console.log(data.list.length);
for(var i=0,len=data.list.length;i<len;i++){ var list = data.list[i]; html += formDataString(str,list);
}
Util.id('app').innerHTML = html;
});
</script>

[HTML] 模板的用法的更多相关文章

  1. Django中模板的用法简介

    1. 模板系统的介绍 Django作为一个Web框架,其模板所需的HTML输出静态部分以及动态内容插入 模板由HTML代码和逻辑控制代码构成 Django框架的模板语言的语法格式: {{var_nam ...

  2. Thymeleaf 模板引擎用法

    学习.改良.极致 博客园 首页 新随笔 联系 管理 订阅 随笔- 31  文章- 0  评论- 50  Thymeleaf 常用属性   文章主目录 th:action th:each th:fiel ...

  3. c++ 中pair类模板的用法详解

    pair: 头文件:#include<utility> 类模板:template <class T1, class T2> struct pair 参数:T1是第一个值的数据类 ...

  4. django入门之模板的用法

    1.为什么要使用模板? 看下以前的代码 #-*- coding:utf-8 -*- from django.shortcuts import render from django.http impor ...

  5. c++转载系列 std::vector模板库用法介绍

    来源:http://blog.csdn.net/phoebin/article/details/3864590 介绍 这篇文章的目的是为了介绍std::vector,如何恰当地使用它们的成员函数等操作 ...

  6. jquery.tmpl.js 模板引擎用法

    1.0 引入: <script src="/js/jquery.tmpl.min.js"></script> 2.0 模板: <script type ...

  7. Laravel框架中Blade模板的用法

    1. 继承.片段.占位.组件.插槽 1.1 继承 1.定义父模板 Laravel/resources/views/base.blade.php 2.子模板继承 @extends('base') 1.2 ...

  8. js模板引擎用法

    JavaScript模板引擎Template.js使用详解 作者:A_山水子农 字体:[增加 减小] 类型:转载 时间:2016-12-15我要评论 这篇文章主要为大家详细介绍了JavaScript模 ...

  9. C++ 模板的用法

    C++中的高阶手法就会用到泛型编程,主要有函数模板, 在程序中使用模板的好处就是在定义时不需要指定具体的参数类型,而在使用时确可以匹配其它任意类型, 定义格式如下 template <class ...

随机推荐

  1. AABB和平面的相交性检测

    [AABB和平面的相交性检测]

  2. gpg的使用

    [gpg的使用] 在Linux系统中,gpg程序可以实现非对称加密. 下面简单介绍gpg命令的用法:一.创建密钥:$ gpg --gen-key Please select what kind of ...

  3. DBA的工作职责和每日工作

    DBA一般职责 1.安装和升级数据库服务器,以及应用程序工具构建和配置网络环境. 2.熟悉数据库系统的存储结构预测未来的存储需求,制订数据库的存储方案. 3.根据开发人员设计的应用系统需求创建数据库存 ...

  4. 企业招聘:UX设计师需要满足他们哪些期望?

    以下内容由Mockplus团队翻译整理,仅供学习交流,Mockplus是更快更简单的原型设计工具.   为了确定2017年最有价值的用户体验技能和特质,我特地参考了150多份工作要求.最后,得出了以下 ...

  5. 不要怂,就是GAN (生成式对抗网络) (二):数据读取和操作

    前面我们了解了 GAN 的原理,下面我们就来用 TensorFlow 搭建 GAN(严格说来是 DCGAN,如无特别说明,本系列文章所说的 GAN 均指 DCGAN),如前面所说,GAN 分为有约束条 ...

  6. CoreText

    [CoreText]  Core Text is designed for development of higher-level text-handling frameworks. General ...

  7. Interceptor for {http://cxf.liuyang.com/}IHiServiceService has thrown exception, unwinding now org.apache.cxf.binding.soap.SoapFault: Error reading XMLStreamReader.

    Jquery同域访问:客户端连接服务器访问跨域访问:通过本地html文档,浏览器点击开访问(jquery不支持此访问) 用域名的方式访问http://localhost:8080/CXF_09_jqu ...

  8. Map类

    Map类 方法 方法名 返回类型 说明 addLayer(layer, index?) layer 增加一个esri图层到map中,示例: var baseMapLayer = new ArcGIST ...

  9. Work at a KFC fast food restaurant

    During the summer holiday of 2005,I thought I should do some meaningful instead of at home and watch ...

  10. Javascript Promises 介绍

    什么是 Promises Promises是一种关于异步编程的规范,目的是将异步处理对象和处理规则进行规范化,为异步编程提供统一接口.   传统的回调函数 说到JavaScript的异步编程处理,通常 ...