HTML模板 - 填写特定数据

时间:2018-06-14 08:38:30

标签: javascript html

大家好我需要制作模板html文件并更改其中的特定数据。 我一直在寻找如何做到这一点,我发现的就是:

    <div w3-include-html="tmp1.html"></div> 
<script>
function includeHTML() {
var z, i, elmnt, file, xhttp;
/*loop through a collection of all HTML elements:*/
z = document.getElementsByTagName("*");
for (i = 0; i < z.length; i++) {
elmnt = z[i];
/*search for elements with a certain atrribute:*/
file = elmnt.getAttribute("w3-include-html");
if (file) {
  /*make an HTTP request using the attribute value as the file name:*/
  xhttp = new XMLHttpRequest();
  xhttp.onreadystatechange = function() {
    if (this.readyState == 4) {
      if (this.status == 200) {elmnt.innerHTML = this.responseText;}
      if (this.status == 404) {elmnt.innerHTML = "Page not found.";}
      /*remove the attribute, and call this function once more:*/
      elmnt.removeAttribute("w3-include-html");
      includeHTML();
    }
  }
  xhttp.open("GET", file, true);
  xhttp.send();
  /*exit the function:*/
  return;
}

} }

但是这段代码只是复制tmp1.html,我无法在不更改文件的情况下更改文件的特定数据。 有可能这样做吗? 对不起,如果有人问过......

1 个答案:

答案 0 :(得分:0)

您使用的是简单的包含系统,而不是模板系统。

请改用适当的模板系统。 There are many for JavaScript包括Nunjucks,可以让您执行以下操作:

var html = nunjucks.render('tmp1.html', { foo: 'bar' });
document.body.insertAdjacentHTML('beforeend', html);

使用如下模板:

<div>My data is: {{foo}}</div>