【发布时间】:2014-05-28 04:41:54
【问题描述】:
我有一个 Javascript 应用程序,我需要检索一个 HTML 文件来对其进行模板化。我现在这样做的方式是:
var _$e = null;
$.ajax({
type: "GET",
url: "/static/jobs_overview.html",
async: false,
dataType: "xml",
success: function (xml) {
_$e = $(xml.documentElement);
}
});
这似乎确实有效,但由于某种原因,我在_$e 中没有得到正确的 jQuery 对象。我知道,因为样式是由 jQuery 完成的,所以在某些时候会丢失,而且,当我成功设置断点时,我看到的是:
> _$e
[<div class="hello" style="background-color:#FFD700;height:200px;width:100px;"><p> Hi </p></div>]
> _$e.width()
TypeError: Cannot read property 'position' of null
但是,当我手动复制 HTML 字符串并将其转换为 success 中的 jQuery 对象时,输出为:
> $('<div class="hello" style="background-color:#FFD700;height:200px;width:100px;"><p> Hi </p></div>').width()
100
似乎返回的 xml 对象没有正确地转换为 jQuery(或者不是对象的所有属性都被 jQuery 正确读取——假设 HTML 正在呈现但样式不是)。
xml对象是:
> xml
#document
<div class="hello" style="background-color:#FFD700;height:200px;width:100px;">…</div>
知道如何正确地将 xml(或 HTML 文件)呈现为 jQuery 对象吗?
【问题讨论】:
标签: javascript jquery html ajax xml