是否有在另一个HTML模板元素中使用HTML模板元素的示例?
好的,这里有一个简单的例子:
这是我的主文件索引.html在其中我正在导入标头.html并在其中克隆模板并将其附加到我的主div:
<!DOCTYPE html PUBLIC "_//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xhtml="http://www.w3.org/1999/xhtml" lang="en-us" xml:lang="en-us">
<head>
<meta content="text/html; charset=utf-8" http-equiv="content-type">
<link id="imported-header" rel="import" href="static/components/header.html">
</head>
<body>
<div class="master"></div>
</body>
<script>
var headerImp = document.querySelector('#import-header').import;
var headerTemp = headerImp.querySelector(".header");
var header_01= headerTemp .content.cloneNode(true);
document.querySelector(".master").appendChild(header_01);
</script>
</html>
然后在我的标题中.html我正在导入另一个 HTML 并将其添加到模板中(我感觉调用文档对于另一个模板中的模板是错误的,但我可能是错的。
<link id="import-field" rel="import" href="static/components/credit_field.html">
<template class="header">
<div class="credit"> </div>
</template>
<script>
var creditImp = document.querySelector('#import-field').import;
var creditTemp = creditImp.querySelector(".field");
var credit_01 = creditTemp.content.cloneNode(true);
credit_01.querySelector(".row").innerHTML = "User1";
var credit_02 = creditTemp.content.cloneNode(true);
credit_02.querySelector(".row").innerHTML = "User2";
document.querySelector(".credit").appendChild(credit_01);
document.querySelector(".credit").appendChild(credit_02);
</script>
这credit_field.html只是一个保存字段的模板:
<template class="field">
<div class="row"></div>
</template>
它显然正在加载它而没有任何错误,但它给了我导入错误! 只是为了记录,如果我将它们都导入我的索引.html并将它们附加到其中,它会正常工作,但我正在寻找一种在另一个模板中拥有模板的方法。
再次澄清我的问题,我想知道如何在另一个 HTML 模板元素中添加 HTML 模板元素?
注意:我见过有人使用 Django 模板,但我想在 HTML、JavaScript 和 jQuery 中对其进行整理以避免复杂性。
很简单,你对要用作模板的html页面进行ajax调用,并将其放置在正确的节点before
或after
<script type="text/javascript">
$.ajax({
url: 'static/components/credit_field.html',
success: function(content) {
$('template')[0].before(content);
}
});
</script>