丢失整个页面运行javascript的DOM

这个问题继续从这个问题:

读取url并输出新的javascript src

我的最新代码是:

$(document).ready(function () { var oScript = document.createElement('script'); oScript.type = 'text/javascript'; oScript.src = 'converter.js'; // most browsers oScript.onload = function () { $('#converter #form').load(renderConverter()); } // IE oScript.onreadystatechange = function () { if (this.readyState == 'complete') { $('#converter #form').load(renderConverter()); } } document.body.appendChild(oScript); }); 

问题出在.load(renderConverter()); 。 这样做,它删除整个DOM并打印renderConverter(); 要求打印。

函数renderConverter(); 使用以下内容来打印html:

window.document.write(html);

我改为:

document.write(html)但它做同样的事情。

我如何强制它只在div中打印我已经运行了回调? div是#converter #form

页面加载完成后,您无法使用document.write

您应该使用jQuery DOM操作。

当文档关闭(加载后)时,对document.write()任何调用都会隐式调用document.open() ( docs )。 这导致当前文档被完全清除以准备新的文档内容。

要操作元素的内容,请使用DOM操作(如innerHTMLappendChild或使用jQuery的等效方法(因为您的代码显示已经加载了jQuery)。