有没有办法嵌套HTML5<模板>彼此之间的标签?
寻找一种简单的方法来使用通用代码更新我的页面,这样每个页面都不需要大量的JS来运行。
例如以下代码:
<!DOCTYPE html>
<html>
<head>
<title>Test Page</title>
</head>
<body>
<a href="#" class="link">Load Template</a><br>
<template id="profileview">
<h1>Employee</h1>
<template id="employeename">
<div>
<label for="FirstName">First Name:</label>
<input type="text" name="FirstName" id="FirstName" value="">
</div>
<div>
<label for="MiddleInitial">Middle Initial:</label>
<input type="text" name="MiddleInitial" id="MiddleInitial" value="">
</div>
<div>
<label for="LastName">Last Name:</label>
<input type="text" name="LastName" id="LastName" value="">
</div>
</template>
</template>
<script src="/media/js/jquery/jquery-1.9.1.js"></script>
</body>
JS档案:
$('.link').click(function(event) {
event.preventDefault();
$.ajax({
url: '/codes/html5/template.json.php',
dataType: 'json'
}).done(function(result) {
var body = $('body');
$.each(result.templates, function(i, t) {
var template = document.querySelector('#'+t.name);
if (t.subtemplates) {
$.each(t.subtemplates, function(j, t2) {
// subtemplate processing code here
});
}
var clone = document.importNode(template.content, true);
body.append(clone);
});
});
});
JSON文件:
{
"templates" : [
{
"name" : "profileview",
"subtemplates" : [
{
"name" : "employeename"
}
]
}
]
}