你可以做這樣的事情。
<body>
<a href="http://google.com">Click me</a>
<div id="dynamic-content"></div>
<script id="template" type="text/html">
<h1>Hello</h1>
<p>This is a template</p>
</script>
<script>
document.addEventListener('click', function (e) {
var target = e.target;
if (target.tagName == 'A') {
e.preventDefault();
document.getElementById('dynamic-content').innerHTML = document.getElementById('template').innerHTML;
}
}, false);
</script>
</body>
它捕獲所有點擊事件並阻止默認行爲。然後它從模板獲取內容,該模板存儲在類型爲「text/html」的腳本標記內,並將其注入到DOM中。所有的瀏覽器都會忽略腳本標籤而不是「text/javascript」,所以這樣隱藏模板內容是安全的。我在這裏並沒有對模板做任何動態的處理,但如果你想這樣做,你可以使用像John Resig的MicroTemplate這樣的東西,就像他在這裏描述的那樣:http://ejohn.org/blog/javascript-micro-templating/。在使用諸如MicroTemplate之類的東西時,您需要先將模板內容與動態數據合併,然後再將其注入到DOM中。
另外一個很好的模板的選擇是jQuery的官方模板(由微軟合着):http://api.jquery.com/category/plugins/templates/
謝謝!完美 – Parker 2010-11-29 05:16:59