我試圖改造一個頁面來讀取XML而不是DOM,並且我不想使用$(xml).find('blah')進行每次調用,而且我想知道是否有一個在xml指向jQuery的方法,而不是DOM。我可以讓jQuery指向XML文檔而不是DOM嗎?
舉例來說,我希望能夠瀏覽我的XHTML與jQuery的方法,例如: $(「嗒嗒」)無論
這是可能的?
我試圖改造一個頁面來讀取XML而不是DOM,並且我不想使用$(xml).find('blah')進行每次調用,而且我想知道是否有一個在xml指向jQuery的方法,而不是DOM。我可以讓jQuery指向XML文檔而不是DOM嗎?
舉例來說,我希望能夠瀏覽我的XHTML與jQuery的方法,例如: $(「嗒嗒」)無論
這是可能的?
不,您不能重定向全局document
對象以指向您創建的任意DOM文檔。
的jQuery提供給您的context
argument到$()
功能出於這樣的目的,所以你應該使用:
$('blah', xmlDoc).whatever()
或者你可以將其存儲在一個變種,以減少重複,如果你喜歡,和遍歷向下從那裏:
var $xml = $(xmlDoc);
$xml.find('blah').foo();
$xml.find('bloh').bar();
這是一個有點狡猾,但是你可以重寫$
功能:
var old$ = $;
var xml = ...;
$ = function(arg)
{
return old$(arg, xml);
}
我認爲應該工作...也許...
你有沒有想過在盒子外面:)好的。 – 2009-09-28 20:40:53
如果你使用像jQuery.ajax()或jQuery.get()方法可以從另一頁面的DOM,只是改變/將返回類型從「json」設置爲「xml」。
http://docs.jquery.com/Ajax/jQuery.ajax#options(向下滾動到「數據類型」)
使用這種方法,有沒有什麼辦法可以動態修改XML文檔? $('blah',xmlDoc)可以工作,但是像$('blah',xmlDoc).removeClass('hidden')似乎不起作用。 – 2009-09-28 20:42:04