问题标签 [html5-template]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - HTML 模板(自定义)标签
我知道由于各种原因使用自定义 html 标签是不合适的,但我想由你运行一个特定的情况,这可能需要一个自定义 html 标签,并希望得到告知,或者可能是实现我目标的更好方法。
在我的代码中,我有我称之为模板的东西,它由一个带有模板的 div 标签和一个附加到它的隐藏类组成。这在屏幕上不可见,但基本上这些“模板”标签包含我在 Javascript 中用于创建各种不同项目的 html。我这样做是为了可以在 html 中设置模板的样式,而不必担心将 CSS 与我的 Javascript 混合。
在javascript中我会做类似的事情
我宁愿能够做这样的事情
因此,如果我在一个 div 中有多个模板,我可以将它们全部抓取,而不必为它们提供唯一的类名。当然,我需要一个实现的理由比这要深得多,但没必要在细节上浪费你的时间。让我们说这将有助于清理我的 Javascript ALOT。
因为自定义模板标签是隐藏的,实际上只不过是一个容器,可以方便地在 javascript 中使用 document.getElementsByTagName("template"); 调用。这可以吗?我可能会在标签前面加上一个自定义名称,以防模板被实现到 html 中。
jquery - html template tag and jquery
I've got this situation where I'm trying to use the <template>
tag in my html source:
This ends up placing the template in the document but it is not considered to be in the DOM. This means that $("#content-container") is not found in browsers that support template tags. If I search for:
I get this back:
None of this surprises me. What I need to know how to do is to clone the contents of the document-fragment and have a fresh node I can then stick into the DOM where I want it.
I have found examples of how to do this w/o jQuery but much of the code around this stuff is already using jQuery and I need to know how to use jQuery to do this.
My first thought was to get the html and then use it to create a new node:
This results in the following errors:
I don't know if the error is caused by the mustache syntax or not. I figure there has to be a jQuery solution to this behavior somewhere but when I search with Google I get craploads of hits for jQuery Templates, which are different.
Does anyone have thoughts, answers or pointers to sites/pages that will help me through this? I'm trying to avoid cobbling together something hackish.
EDIT: I ended up finding this solution (I'm still testing it to make sure it IS a solution but it looks promising);
I end up with that containing div that I didn't really need previously but I can live with that. But this kind of feels kludgy. Does anyone have a better approach to this? The upside is that it will still work in browsers that haven't adapted the template tag behavior fully yet.
thanks!
javascript - HTML 模板 JavaScript polyfills
我正在寻找最符合标准/面向未来的前端 HTML 模板方法。
HTML 模板存在一个相对较新的W3C 草案规范,例如:
有谁知道是否已经存在任何好的JavaScript polyfills以使 <template>
元素以跨浏览器的方式可用?最好符合本标准。
困难
根据HTML5Rocks 指南,这些模板具有以下属性:
- “它的内容在被激活之前实际上是惰性的”
- “脚本不运行,图像不加载,音频不播放,”
- “内容被认为不在文档中”
- "模板可以放置在
<head>
,<body>
, 或<frameset>
"
我认为完全使用 JavaScript polyfill 实现所有这四个属性是不可能的,所以任何解决方案都只是部分的。
javascript - HTML 5 template tag (page refresh)
I wanted to use the HTML 5 template tag but there's some confusing behaviour after a page refresh. Maybe I show you some code first:
Actually this works as expected, but there's some confusing stuff going on in the console. When I first open the page it says:
but when I refresh the page it shows up this:
When I repeat it I see the stuff from the first picture again. I tried it also on jsbin and there I can't see this behaviour: http://jsbin.com/ofotah/1
I have really no idea what is going on there. I'm using Google Chrome Version 27.0.1453.110 (Windows). Hope you can help me with this.
html - 如何从模板中用 Shadow DOM 装饰的 HTML 元素中删除影子根?
我正在探索 Chrome Canary (33.0.1712.3) 中的导入、模板、影子 DOM 和自定义元素。在网格布局中,我有一个特定的内容元素(显示区域),它将显示不同的 Web 组件或从文件导入的克隆轻 DOM 片段。
但是,一旦添加了影子 DOM,我就无法重新显示普通的 HTML DOM,因为我不知道如何删除影子根。一旦创建,影子根就会保留并干扰普通 DOM 的渲染。(我查看了各种 W3C 规范,例如 Web 组件介绍、影子 DOM、模板、Bidelman 关于 HTML5 Rocks 的文章等。)我在下面的一个简单示例中隔离了这个问题:
点击“显示普通的旧div”;点击“显示阴影模板”;单击“显示普通的旧 div”。每次单击后在 devtools 中检查。第三次单击后,按钮下方没有输出,我在 devtools 中看到:
我需要添加什么到 removeShadow() 以删除影子根并将内容元素完全重置为其初始状态?
移除_shadows.html
html - HTML5 模板在 Internet Explorer 上不起作用,如何解决?
我在 HTML5 中制作了一个模板,该模板适用于 Chrome 和 Firefox,但不适用于 Internet Explorer(在 IE 8 上测试)。
我怎么解决这个问题?
javascript - 将内容标签添加到模板内的输入字段
我正在尝试使用新的 html5 模板标签来制作一个半通用表单,该表单可以放置在多个用例中,而无需使用过多的 javascript。
这是一个小提琴,展示了我所拥有的http://jsfiddle.net/684uH/
我的目标是将占位符文本中的“名称”替换为通常会在<content>
标签中找到的内容
一个假设的例子来说明我的观点是:
有没有办法做类似的事情,或者是使用 javascript 手动设置它的唯一方法?
html - 你会如何使用带有 HTML 模板标签的 rivets.js
HTML 有一个 <template> 标签的规范草案。详细信息:https ://developer.mozilla.org/en-US/docs/Web/HTML/Element/template
我正在考虑在一个新项目中使用 Rivets.JS,我也想使用这个新的模板标签。
可以让两者很好地合作吗?
我想我想告诉铆钉一些类似“获取此模板,将其绑定到此数据并在此处输出结果”的内容。