将内容标记添加到模板内的输入字段

时间:2014-04-15 01:11:37

标签: javascript html html5 web-component html5-template

我正在尝试使用新的html5模板标签来制作一个半通用的表单,可以放在多个用例中而不使用太多的javascript。

这是一个小提示,显示我有http://jsfiddle.net/684uH/

我的目标是更换&#34;名称&#34;在占位符文本中,通常会在<content>标记

中找到

一个假设的例子来说明我的观点:

<div id = "hoster">
    <span class = "inputPlaceholder">Special Name</span>
</div>

<template id = "im-a-template">
    <input type="text" placeholder = <content select = ".inputPlaceholder"></content>>
</template>

有没有办法做类似的事情,或者是使用javascript手动设置它的唯一方法?

1 个答案:

答案 0 :(得分:-1)

在客户端上使用XSLT执行此操作:

<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="html5.xhtml"?>
<xsl:stylesheet version="1.0"
            xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml"
            >
<xsl:output method="xml" encoding="utf-8" version="" indent="yes" standalone="no" media-type="text/html" omit-xml-declaration="no" doctype-system="about:legacy-compat" />

<!-- Run default templates on the xsl-stylesheet element above-->
<xsl:template match="xsl:stylesheet">
  <xsl:apply-templates/>
</xsl:template>

<!-- Run this template on the root node -->
<xsl:template match="/">
  <html>
    <head>
      <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
    </head>
    <body>
      <div id="hoster">
        <span class="inputPlaceholder">Special Name</span>
      </div>

      <!-- Reuse the value of the node with the inputPlaceholder class -->
      <template id="im-a-template">
        <input type="text" placeholder="{//node()[@class='inputPlaceholder']}"/>
      </template>
    </body>
  </html>
</xsl:template>

</xsl:stylesheet>

使用以下过程:

  • 另存为html5.xhtml(或将<?xml-stylesheet href更改为您选择的名称)
  • 在浏览器中打开
  • 添加脚本标记以运行您选择的<template> polyfill

<强>参考