在下面的脚本中,我在DIV的开头插入了一些代码。
var mydiv = document.getElementById("myDIV");
var mycontent = document.createElement("p");
mycontent.insertBefore(document.createTextNode("Hello <b>World</b><br><bR>"));
mydiv.insertBefore(mycontent,mydiv.firstChild);
在我的网站上,代码将作为文本插入,并忽略HTML格式。有谁知道如何使用javascript将代码插入DIV?
答案 0 :(得分:2)
您无法插入标记,只能插入DOM节点。 DOM节点可以是文本节点或元素节点(或者您几乎肯定不关心的其他几个节点)。
区别很重要,因为您可以插入<div></div>
而不是<div>
。
创建元素:
var myElement = document.createElement('div');
你的具体例子:
var myContent = document.createElement('p');
myContent.appendChild(document.createTextNode('Hello'));
var bold = document.createElement('b'); // Please don't use presentational elements in 2012
bold.appendChild(document.createTextNode('World');
myContent.appendChild(bold);
myContent.appendChild(document.createElement('br')); // Please don't use line breaks as margin/padding substitutes
myContent.appendChild(document.createElement('br'));
mydiv.insertBefore(mycontent,mydiv.firstChild);
答案 1 :(得分:1)
您可以与元素和innerHTML
结合使用,以获得简单的解决方案:
var mydiv = document.getElementById("myDIV");
var mycontent = document.createElement("p");
mycontent.innerHTML = 'Hello <b>World</b><br><bR>';
mydiv.insertBefore(mycontent, mydiv.firstChild);
答案 2 :(得分:0)
为什么不
var mydiv = document.getElementById("myDIV");
var mycontent = document.createElement("p");
mycontent.innerHTML = "Hello <b>World</b><br><bR>";
mydiv.insertBefore(mycontent,mydiv.firstChild);