2013-10-31 45 views
0

這是一個很短的例子,但我想知道是否有一種方法使用HTML標記的XML或HTML文件,而不是像下面這樣在JavaScript中包含它。html模板在jquery或javascript

我知道那裏有模板庫,但我真的只想做一些簡單的事情,不涉及jQuery以外的任何庫。

var description = this.name; 

if description == 'full') { 
    return "<div><textarea cols='50' rows='50'>" + this.value + "</textarea></div>"; 
} else { 
    return "<div><textarea cols='50' rows='15'>" + this.value + "</textarea></div>"; 
}; 

感謝

+2

ajax ??????????? – Rooster

+0

你的意思是我應該谷歌「阿賈克斯」找到我的答案?謝謝 – SkyeBoniwell

+1

並可能實現它。 – Fallenreaper

回答

2

在一般情況下,沒有一個模板引擎,你有三種選擇:

一)直接添加模板到您的標記爲腳本標籤

<script type="text/template" data-template="stats"> 
    <div id="content"> 
     ... 
    </div> 
</script> 

的HTML代碼腳本標籤內可以使用以下代碼訪問:

$("script[data-template=" + templateName + "]").html() 

這種方法最大的好處是你不再發送另一個http請求。

b)將模板放入外部文件並通過ajax加載。

$.ajax({ 
    url: "test.html" 
}).done(function(html) { 
    ... 
}); 

c)做你喜歡的事情已經做了。

+0

選項A看起來不錯。如何訪問

1

如果使用AJAX調用一個文件,你可以使用文件,這可能是XML或嵌套的HTML,等等等等

1

的,我定義我的標記隱藏DIV的結果 - 然後給它一個然後在JavaScript中使用jQuery.clone()方法來製作該標記的克隆,並在標記中定義模板宏值,然後可以使用.replace注入真實數據。

HTML:

<div id="mytemplate"> 
Name: {0} 
</div> 

JS/jQuery的:

var clone = $('#mytemplate').clone(); 

然後在克隆對象上執行替換,並簡單地追加到所需的DOM!