这里的问题是:转换的jQuery对象返回的XmlDocument
我遍历一组节点,并根据自己的类型,我想使用jQuery的XSLT插件。
var options = {
type: "POST",
url: "api/dosomething/usefull",
data: "orderid=12345",
success: function(response) {
$(response).find("group").each(function() {
if ($(this).attr(type) == "X") {
$.xslt({xml: $(this), xslUrl: 'xsl/order/x_group.xsl', xslCache: false, callback: function(data){
//do something usefull with the transformed data
}});
} else {
$.xslt({xml: $(this), xslUrl: 'xsl/order/other_group.xsl', xslCache: false, callback: function(data){
//do else with the transformed data
}});
}
})
}
};
问题是,xslt插件需要一个JavaScript文档对象。如何将每个函数的结果转换回文档? $(this).text()将去除所有内部xml标签。 $(this).html()也不起作用,因为jQuery下的XML不支持。显然使用这个作为参数(ofcourse)会触发一个错误。
替代considerd:
- 使用JavaScript内置的文档剖析功能以减少文件,我们需要的节点,然后通过XSLT解析器抛出下摆。鉴于jQuery的易用性,我宁愿不这样做。
- 将整个文档放到xslt解析器中并在xslt中解决。如果解析器(或者我们所定位的浏览器中的xslt解析器而不是plul)支持xsl:import,这将是一个选项。我们需要使用$(this).get(0)重用这些XSLT的
- 我可以创建一个新的文件,如果只有我知道如何让内部字符串表示...
您应该将编辑进入一个答案,然后在一对夫妇接受那么这个问题就会关闭。 – RedWolves 2009-11-04 15:19:31
是啊,对不起,这是我第一次使用这个网站提出一个问题...总共n00b在这里;) – 2009-11-04 15:24:25