javascript中的CreateTextNode附加html内容
我正在尝试使用append child将html格式的块附加到现有的div。但是我看到html代码是附加的,而不是格式化的html。有没有关于如何使用appendChild和createTextNode添加html设计而不是html代码的指针javascript中的CreateTextNode附加html内容,javascript,html,Javascript,Html,我正在尝试使用append child将html格式的块附加到现有的div。但是我看到html代码是附加的,而不是格式化的html。有没有关于如何使用appendChild和createTextNode添加html设计而不是html代码的指针 你好测试 剧本 var ele = document.getElementById("currentElement"); var newHtml = "<div><h3>hello test continued</h3&
你好测试
剧本
var ele = document.getElementById("currentElement");
var newHtml = "<div><h3>hello test continued</h3></div>";
ele.appendChild(document.createTextNode(newHtml));
var ele=document.getElementById(“currentElement”);
var newHtml=“hello测试继续”;
ele.appendChild(document.createTextNode(newHtml));
为什么不直接使用?您可以使用ele.innerHTML=newHtml
覆盖内容,或使用ele.innerHTML+=newHtml
添加到现有内容
var ele=document.getElementById(“currentElement”);
var newHtml=“hello测试继续”;
ele.innerHTML+=newHtml代码>
你好测试
为什么不直接使用?您可以使用ele.innerHTML=newHtml
覆盖内容,或使用ele.innerHTML+=newHtml
添加到现有内容
var ele=document.getElementById(“currentElement”);
var newHtml=“hello测试继续”;
ele.innerHTML+=newHtml代码>
你好测试
如果要保留事件侦听器,有两个选项
//示例事件侦听器
document.querySelector(“#currentElement h2”).addEventListener('click',()=>console.log('click works');
//代码从这里开始
var ele=document.getElementById(“currentElement”);
var div=document.createElement('div'),
h3=document.createElement('h3'),
txt=document.createTextNode(“hello测试继续”);
儿童组(h3);
h3.appendChild(txt);
附属儿童(分部)等代码>
你好测试
如果要保留事件侦听器,有两个选项
//示例事件侦听器
document.querySelector(“#currentElement h2”).addEventListener('click',()=>console.log('click works');
//代码从这里开始
var ele=document.getElementById(“currentElement”);
var div=document.createElement('div'),
h3=document.createElement('h3'),
txt=document.createTextNode(“hello测试继续”);
儿童组(h3);
h3.appendChild(txt);
附属儿童(分部)等代码>
你好测试
如果您想通过appendChild执行此操作,请按以下方式执行:
var newHtml = "<div><h3>hello test continued</h3></div>";
var child = document.createElement('div');
child.innerHTML = newHtml;
child = child.firstChild;
document.getElementById('currentElement').appendChild(child);
var newHtml=“hello测试继续”;
var child=document.createElement('div');
child.innerHTML=newHtml;
child=child.firstChild;
document.getElementById('currentElement').appendChild(child);
如果您想通过appendChild执行此操作,请按以下方式执行:
var newHtml = "<div><h3>hello test continued</h3></div>";
var child = document.createElement('div');
child.innerHTML = newHtml;
child = child.firstChild;
document.getElementById('currentElement').appendChild(child);
var newHtml=“hello测试继续”;
var child=document.createElement('div');
child.innerHTML=newHtml;
child=child.firstChild;
document.getElementById('currentElement').appendChild(child);
是,因为文本节点是文本,而不是HTMLele.innerHTML+=newHTML
或者,一个更好的选择ele.insertAdjacentHTML('beforeend',newHTML)
就是您想要的是,因为文本节点是文本,而不是HTMLele.innerHTML+=newHTML
或者,一个更好的选择ele.insertAdjacentHTML('beforeend',newHTML)
是您想要的,它将取代当前的html:p(注释预编辑)(如果您想添加它,insertAdjacentHTML
更有效:p)@JaromandaX--更新以涵盖替换和添加:)这将删除现有的事件侦听器。任何带有appendChild?insertAdjacentHTML的选项都将替换当前的html:p(注释预编辑)(如果您想添加它,insertAdjacentHTML
的性能更高:p)@JaromandaX--已更新以涵盖替换和添加:),这将删除现有的事件侦听器。任何带有appendChild?insertAdjacentHTML的选项