JCO*_*611 4 javascript xml ajax
在AJAX查询之后,返回XML文件.我能够"解析"该文件,但是当涉及获取元素的"innerHTML"(或在本例中为"innerXML")时,问题就出现了.
如果XML元素,即"内容",只包含我可以做的文本:( content.childNodes[0].nodeValue假设内容引用XML元素"content").但该元素包含其他元素:
<stackoverflow reason="tribute to this page">
<content>
<div><span><p>Some more HTML elements</p></span></div>
</content>
</stackoverflow>
Run Code Online (Sandbox Code Playgroud)
我需要将内容复制<content>到<div>页面中的现有内容,我该怎么做?
防爆. myDiv.innerHTML = content.innerHTML;
尝试将HTML放在CDATA标记中,如下所示:
<stackoverflow reason="tribute to this page">
<content>
<![CDATA[<div><span><p>Some more HTML elements</p></span></div>]]>
</content>
</stackoverflow>
Run Code Online (Sandbox Code Playgroud)
然后通过将数据插入元素innerHTML.
document.getElementById('target').innerHTML = content.childNodes[0].nodeValue;
Run Code Online (Sandbox Code Playgroud)
innerHTML是一个你根本不应该使用的 hack。相反,使用普通的DOM函数:
myDiv.appendChild(document.adoptNode(content));
Run Code Online (Sandbox Code Playgroud)