【发布时间】:2013-04-13 03:07:07
【问题描述】:
发出一个 Ajax 请求后,我收到 XML 作为响应,有一个已经像 HTML 一样预先格式化的 XML。我只想从 XML 中获取一个节点并将其注入 DOM。响应中还有其他纯 XML 节点。 XML 或多或少可能看起来像。
<xml>
<div id="foo">
<div id='foo'>...
<img src="foo.jpg"/>
</div>
</div>
<node></node>
<node></node>
<node></node>
<node></node>
</xml>
因此,如果我想获取 div 节点并将其注入 DOM,我可以使用类似
的方法来实现 var e = this.responseXML.getElementById('foo');
$('#container').html(e);
问题是当 html 被注入时,图像无论如何都不会下载。如果我使用 responTEXT,图像会下载,但我会得到所有其他我不想要的 XML。
有谁知道注入时没有下载图像的主要原因?或者如何让他们这样做?
【问题讨论】:
-
试试
$('#container').empty().append(e); -
这本质上是一样的,不是吗?只是另一种方式实际附加 HTML。不会改变不评估 HTML 和请求图像的原因。
-
.html()采用 html 字符串而不是节点。如果上述方法不起作用,请尝试$('#container').empty().append($(e).clone()); -
似乎仍然在做同样的事情:(
标签: javascript html xml ajax