2014-04-04 234 views
0

我有一个工作的替代方案,我认为....我相信我现在抹去它,我找不到它。有没有人知道document.write javascript的替代方案?这里是代码:替代document.write javascript?

document.write('<div id="myDiv1"></div>'); 

有没有人知道document.write javascript的替代品?

+0

替代实现什么目标? 'document.write'在它的功能上非常具体。 –

+0

是的,但是当我使用ajax加载一个body时,document.write加载代替了... – user3499262

+0

因此,在某些时候,您希望通过JavaScript为DOM添加一个新的'div',但它可能会在DOM加载后运行。在这种情况下,您可以随意使用一个非常庞大且有据可查的DOM API,更不用说许多可以使用的图书馆API了。 –

回答

1

document.create<...>怎么样?

var newDiv = document.createElement("div"); 
var newContent = document.createTextNode("Whateveryourcontentis"); 
newDiv.appendChild(newContent); 
document.querySelector("#mytarget").appendChild(newDiv) 

另外,如果你要进入一个更复杂的结构,我会用DocumentFragment

+0

是啊文件在附近创作...太感谢了! :) – user3499262

0

document.create<...>解决方案是最安全的,但如果你需要插入存储为一个字符串(原始的HTML来自可信来源仅例如,不发布其他用户的内容使用此方法,即使现代的浏览器都不允许),你可以使用innerHTMLouterHTML

document.body.innerHTML += '<b>I can add raw markup!<\/b><img src="x" onerror=\'alert("But be careful!")\'>'; 

https://developer.mozilla.org/en-US/docs/Web/API/Element.innerHTML了解更多关于将innerHTMLouterHTML用于不可信内容的持续风险。它基本上与使用eval()与不可信内容一样危险。