大家好我需要制作模板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,我无法在不更改文件的情况下更改文件的特定数据。 有可能这样做吗? 对不起,如果有人问过......
答案 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>