使用普通javascript将es6模板字符串转换为html元素
有没有一种方法可以使用普通的老式javascript(sans框架)将html模板字符串转换为html元素 以下是我尝试过的东西:使用普通javascript将es6模板字符串转换为html元素,javascript,html,ecmascript-6,Javascript,Html,Ecmascript 6,有没有一种方法可以使用普通的老式javascript(sans框架)将html模板字符串转换为html元素 以下是我尝试过的东西: function renderBody(selector = body, template) { const prop.text = 'foobar'; const templateString = `<div id='test'>${prop.text}</div>` const test = document.cr
function renderBody(selector = body, template) {
const prop.text = 'foobar';
const templateString = `<div id='test'>${prop.text}</div>`
const test = document.createElement('div');
test.innerHTML = templateString;
document.querySelector(selector).appendChild(test);
}
函数renderBody(选择器=主体,模板){
const prop.text='foobar';
const templateString=`${prop.text}`
const test=document.createElement('div');
test.innerHTML=模板字符串;
document.querySelector(选择器).appendChild(测试);
}
此实现可以工作,但它使用innerHTML并添加了一个额外的包装div。有没有一种方法可以在没有额外的div的情况下实现这一点?您可以使用:
函数renderBody(选择器='body',模板){
const prop={text:'foobar'};
常量html=`${prop.text}`;
document.querySelector(selector.insertAdjacentHTML('beforeend',html);
}
renderBody()代码>
div{border:1px solid}
测试
我刚刚发现。这就是我想要的:
let doc = new DOMParser().parseFromString('<div><b>Hello!</b></div>', 'text/html');
let doc=new DOMParser().parseFromString('Hello!','text/html');
信用证:为什么不直接添加.appendChild(templateString)并删除'test'引用,或者直接执行const test=document.createElement('div');test.innerHTML=prop.text代码>不需要字符串插值…是否确实允许prop.text
包含任意html?相关-