我可以让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”)