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

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

例如,我希望能够使用jQuery方法导航我的xhtml:$(’blah’)。无论如何

这可能吗?

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

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

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

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

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

这有点狡猾,但你可以覆盖$函数:

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

我觉得应该有用……也许……

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

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