我可以让jQuery指向XML文档而不是DOM吗?

时间:2009-09-28 20:24:25

标签: javascript jquery

我正在尝试改进页面以从XML而不是DOM中读取,我宁愿不为每次调用使用$(xml).find('blah'),我想知道是否有一种将jQuery指向xml而不是DOM的方法。

例如,我希望能够使用jQuery方法导航我的xhtml: $( '等等')。任何

这可能吗?

3 个答案:

答案 0 :(得分:2)

不,您无法将全局document对象重定向到指向您创建的任意DOM文档。

为了这个目的,jQuery为$()函数提供了context argument,所以你应该只使用它:

$('blah', xmlDoc).whatever()

或者您可以将它存储在var中以减少重复次数(如果您愿意),并从那里向下移动:

var $xml = $(xmlDoc);
$xml.find('blah').foo();
$xml.find('bloh').bar();

答案 1 :(得分:2)

这有点狡猾,但您可以覆盖$功能:

var old$ = $;
var xml = ...;

$ = function(arg)
{
    return old$(arg, xml);
}

我认为应该有用......也许......

答案 2 :(得分:1)

如果您正在使用jQuery.ajax()或jQuery.get()等方法从其他页面检索DOM,只需将返回类型从“json”更改/设置为“xml”。

http://docs.jquery.com/Ajax/jQuery.ajax#options(向下滚动到“dataType”)