Javascript HTML函数?

Javascript HTML函数?,javascript,html,Javascript,Html,我有一个重复的HTML代码,如: <figure class="print"> <a href="#"> <img src="images/5.png" alt="" /> <dl> <dt>Client</dt> <dd>Envato</dd> <dt>Role</dt&

我有一个重复的HTML代码,如:

<figure class="print">
    <a href="#">
        <img src="images/5.png" alt="" />
        <dl>
            <dt>Client</dt>
            <dd>Envato</dd>
            <dt>Role</dt>
            <dd>Print</dd>
        </dl>
    </a>
</figure>


有没有一种聪明的方法可以从中生成一个“函数”(接受标题和图像作为参数),或者我需要重复这么多次代码?

纯HTML是没有办法的

您可以使用JavaScript(jQuery)或后端脚本,如PHP

$("html").append($(".print").clone());

在纯HTML中没有任何方法

您可以使用JavaScript(jQuery)或后端脚本,如PHP

$("html").append($(".print").clone());

使用HTML,您无法编写生成所需内容的函数。似乎您希望生成动态内容。这通常是通过使用脚本语言来完成的

这里有两个选项:

  • 使用像PHP这样的服务器端脚本语言
  • 如果您想要一个客户端解决方案,您可以使用JavaScript,它可以动态地为您创建内容

  • 要了解更多信息,只需在谷歌上搜索一些简单的教程。

    使用HTML,您无法编写生成所需内容的函数。似乎您希望生成动态内容。这通常是通过使用脚本语言来完成的

    这里有两个选项:

  • 使用像PHP这样的服务器端脚本语言
  • 如果您想要一个客户端解决方案,您可以使用JavaScript,它可以动态地为您创建内容

  • 要了解更多信息,只需在谷歌上搜索一些简单的教程。

    正如其他人所说,HTML是一种声明性语言。但是,使用诸如的现代框架,您可以编写以下内容:

    <figure class="print" ng-repeat="figure in figures">
        <a href="#">
            <img ng-src="{{figure.image}}" alt="" />
            <dl>
                <dt>Client</dt>
                <dd>{{figure.captions.client}}</dd>
                <dt>Role</dt>
                <dd>{{figure.captions.role}}</dd>
            </dl>
        </a>
    </figure>
    
    
    
    相应的模式是:

    var figures = [{ image: 'images/5.png', captions: { client: 'Envato', role: 'Print' } }, { image: 'images/6.png', captions: { client: 'Another caption', role: 'Print' } }]; 可变价值数字=[{ 图片:“images/5.png”, 标题:{ 客户:“Envato”, 角色:“打印” } }, { 图片:“images/6.png”, 标题:{ 客户:“另一个标题”, 角色:“打印” } }];
    习惯它需要一些时间,但你应该阅读他们的TODO示例应用程序的代码。

    正如其他人所说,HTML是一种声明性语言。但是,使用诸如的现代框架,您可以编写以下内容:

    <figure class="print" ng-repeat="figure in figures">
        <a href="#">
            <img ng-src="{{figure.image}}" alt="" />
            <dl>
                <dt>Client</dt>
                <dd>{{figure.captions.client}}</dd>
                <dt>Role</dt>
                <dd>{{figure.captions.role}}</dd>
            </dl>
        </a>
    </figure>
    
    
    
    相应的模式是:

    var figures = [{ image: 'images/5.png', captions: { client: 'Envato', role: 'Print' } }, { image: 'images/6.png', captions: { client: 'Another caption', role: 'Print' } }]; 可变价值数字=[{ 图片:“images/5.png”, 标题:{ 客户:“Envato”, 角色:“打印” } }, { 图片:“images/6.png”, 标题:{ 客户:“另一个标题”, 角色:“打印” } }]; 习惯它需要一些时间,但您应该阅读他们的TODO示例应用程序的代码。

    您可以使用模板来完成此操作,例如:

    <script src="http://documentcloud.github.io/underscore/underscore-min.js"></script>
    
    <script id="template" type="text/html">
      <% data.forEach(function(item){ %>
        <figure class="print">
          <a href="#">
            <img src="<%= item.src %>" alt="" />
            <dl>
              <dt>Client</dt>
              <dd><%= item.client %></dd>
              <dt>Role</dt>
              <dd><%= item.role %></dd>
            </dl>
          </a>
        </figure>
      <% }); %>
    </script>
    
    <div id="container"></div>
    
    可以使用模板执行此操作,例如:

    <script src="http://documentcloud.github.io/underscore/underscore-min.js"></script>
    
    <script id="template" type="text/html">
      <% data.forEach(function(item){ %>
        <figure class="print">
          <a href="#">
            <img src="<%= item.src %>" alt="" />
            <dl>
              <dt>Client</dt>
              <dd><%= item.client %></dd>
              <dt>Role</dt>
              <dd><%= item.role %></dd>
            </dl>
          </a>
        </figure>
      <% }); %>
    </script>
    
    <div id="container"></div>
    

    尝试使用jquery模板

    <script src="jquery.tmpl.js" type="text/javascript"></script> 
    
    <script type="text/javascript">
    $(document).ready(function() {
    var data = [
    { name: "Astor", product: "astor", stocklevel: "10", price: 2.99},
    { name: "Daffodil", product: "daffodil", stocklevel: "12", price: 1.99},
    { name: "Rose", product: "rose", stocklevel: "2", price: 4.99},
    { name: "Peony", product: "peony", stocklevel: "0", price: 1.50},
    { name: "Primula", product: "primula", stocklevel: "1", price: 3.12},
    { name: "Snowdrop", product: "snowdrop", stocklevel: "15", price: 0.99},
    ];
    $('#flowerTmpl').tmpl(data).appendTo('#row1');
    });
    </script>
    <script id="flowerTmpl" type="text/x-jquery-tmpl">
      <div class="dcell">
      <img src="${product}.png"/>
      <label for="${product}">${name}:</label>
      <input name="${product}" data-price="${price}" data-stock="${stocklevel}"
      value="0" required />
     </div>
    </script>
    
    
    $(文档).ready(函数(){
    风险值数据=[
    {名称:“Astor”,产品:“Astor”,库存水平:“10”,价格:2.99},
    {名称:“水仙花”,产品:“水仙花”,库存量:“12”,价格:1.99},
    {名称:“玫瑰”,产品:“玫瑰”,库存水平:“2”,价格:4.99},
    {名称:“牡丹”,产品:“牡丹”,库存水平:“0”,价格:1.50},
    {名称:“报春花”,产品:“报春花”,库存水平:“1”,价格:3.12},
    {名称:“雪花莲”,产品:“雪花莲”,库存水平:“15”,价格:0.99},
    ];
    $('#flowerTmpl').tmpl(数据).appendTo('#row1');
    });
    ${name}:
    
    尝试使用jquery模板

    <script src="jquery.tmpl.js" type="text/javascript"></script> 
    
    <script type="text/javascript">
    $(document).ready(function() {
    var data = [
    { name: "Astor", product: "astor", stocklevel: "10", price: 2.99},
    { name: "Daffodil", product: "daffodil", stocklevel: "12", price: 1.99},
    { name: "Rose", product: "rose", stocklevel: "2", price: 4.99},
    { name: "Peony", product: "peony", stocklevel: "0", price: 1.50},
    { name: "Primula", product: "primula", stocklevel: "1", price: 3.12},
    { name: "Snowdrop", product: "snowdrop", stocklevel: "15", price: 0.99},
    ];
    $('#flowerTmpl').tmpl(data).appendTo('#row1');
    });
    </script>
    <script id="flowerTmpl" type="text/x-jquery-tmpl">
      <div class="dcell">
      <img src="${product}.png"/>
      <label for="${product}">${name}:</label>
      <input name="${product}" data-price="${price}" data-stock="${stocklevel}"
      value="0" required />
     </div>
    </script>
    
    
    $(文档).ready(函数(){
    风险值数据=[
    {名称:“Astor”,产品:“Astor”,库存水平:“10”,价格:2.99},
    {名称:“水仙花”,产品:“水仙花”,库存量:“12”,价格:1.99},
    {名称:“玫瑰”,产品:“玫瑰”,库存水平:“2”,价格:4.99},
    {名称:“牡丹”,产品:“牡丹”,库存水平:“0”,价格:1.50},
    {名称:“报春花”,产品:“报春花”,库存水平:“1”,价格:3.12},
    {名称:“雪花莲”,产品:“雪花莲”,库存水平:“15”,价格:0.99},
    ];
    $('#flowerTmpl').tmpl(数据).appendTo('#row1');
    });
    ${name}:
    
    在HTML中,您没有函数!!!html不是一种编程语言,它只是一种风格语言。因此,您需要重复代码多次。好吧,那么,也许可以使用javascript来实现这一点?jquery?您应该使用Javascript来实现这一点。在服务器端进行标记通常是有意义的。查找php。在HTML中你没有函数!!!html不是一种编程语言,它只是一种风格语言。因此,您需要重复代码多次。好吧,那么,也许可以使用javascript来实现这一点?jquery?您应该使用Javascript来实现这一点。在服务器端进行标记通常是有意义的。查找php。这是最简单的方法,甚至与原始html有一对一的关系。这是最简单的方法,甚至与原始html有一对一的关系