2013-10-31 48 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!