這是不可能的;瀏覽器不會將<script>
標記中的HTML內容視爲DOM的一部分。當您使用$('#idhere').html()
檢索<script>
標記的內容時,您會收到字符串結果。
要回答特洛伊的問題,他是最有可能包括在他的文件的<head>
模板,以便他能夠最終動態地呈現在瀏覽器端的內容。但是,如果是這種情況,則OP應使用與text/html
不同的MIME類型。您應該使用未知的MIME類型,例如text/templates
- 使用text/html
會混淆內容的用途。
我猜測你想達到入<script>
標籤和搶div
是因爲你的單<script>
標籤中內置較小的子模板的原因。那些較小的模板應該放置在它們自己的<script></script>
標記中,而不是包含在一個大的<script></script>
標記對中。
因此,而不是:
<script type="text/template" id="big_template">
<div id="sub_template_1">
<span>hello world 1!</span>
</div>
<div id="sub_template_2">
<span>hello world 2!</span>
</div>
</script>
這樣做:
<script type="text/template" id="template_1">
<span>hello world 1!</span>
</script>
<script type="text/template" id="template_2">
<span>hello world 2!</span>
</script>
您的標記無效。 – undefined 2012-08-16 22:55:20
你想用模板做些什麼嗎? http://ejohn.org/blog/javascript-micro-templating/ – dana 2012-08-16 22:56:30
@undefined:當使用像'knockoutJs'或'Handlebars'這樣的庫時,例如你必須定義模板。 – Nope 2012-08-16 23:17:05