Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/451.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在没有框架的情况下将数据插入HTML/JavaScript中的模板元素_Javascript_Html - Fatal编程技术网

如何在没有框架的情况下将数据插入HTML/JavaScript中的模板元素

如何在没有框架的情况下将数据插入HTML/JavaScript中的模板元素,javascript,html,Javascript,Html,从问题的答案之一开始: 大多数当前浏览器支持HTML元素,这些元素提供 一种更可靠的从字符串创建元素的方法 不太清楚你想要什么。但是,您肯定可以首先将模板转换为字符串,然后使用正则表达式通过将变量{{{{uuuuu variable\u name\uuuuu}}更新为所需的变量来分析代码 下面是一个愚蠢的尝试,它可以处理任何异常,但可以让您了解如何实际完成这项工作 var tbody=document.querySelector(“tbody”); 常数arr=[ { 代码:“12356465

从问题的答案之一开始:

大多数当前浏览器支持HTML元素,这些元素提供 一种更可靠的从字符串创建元素的方法


不太清楚你想要什么。但是,您肯定可以首先将模板转换为字符串,然后使用正则表达式通过将变量
{{{{uuuuu variable\u name\uuuuu}}
更新为所需的变量来分析代码

下面是一个愚蠢的尝试,它可以处理任何异常,但可以让您了解如何实际完成这项工作

var tbody=document.querySelector(“tbody”);
常数arr=[
{
代码:“1235646565”,
产品名称:“东西”
},
{
代码:“0384928528”,
产品名称:“Acme芸豆2”
},
{
抄本:“17263871263”//输入错误,则不会显示
产品名称:“可口可乐”
}
];
arr.forEach(行=>{
//log(convertTemplate(“#productrow”,row));
tbody.appendChild(convertTemplate(“productrow”,row));
});
函数convertTemplate(templateSelector,variablesObj){
const template=document.querySelector(templateSelector);
const templateStr=template.innerHTML;//将相应的DOM作为我们可以操作的字符串获取
//在那里找到所有对应的{code}},并提取其中的名称
常量regex=/{{([^}]+)}/g
常量结果=[];
让arr;
while(arr=regex.exec(templateStr)){
如果(arr.length>1){
常数variableName=arr[1];
结果.推送(变量名称);
}
}
设finalTemplateStr=templateStr;
result.forEach(variableName=>{
const value=variablesObj[variableName]| |“”;
如果(!值){
console.error('没有可用值设置为空优先');
}
finalTemplateStr=finalTemplateStr.replace(`{${variableName}}}}}`,value)
});
//创建与所述根元素相同的元素
常量rootElemRegex=newregexp(“]+)/?>”,“i”);
arr=rootElemRegex.exec(finalTemplateStr);
const rootElemName=arr[1];
const div=document.createElement(rootElemName);
div.innerHTML=finalTemplateStr;
返回div;
}

{{code}}
{{productName}}
UPC_代码
产品名称

谢谢您的回答!解决方案的标题是“创建自己的模板语法并自己实现模板引擎”。