2012-11-15 18 views
0

我得到了一個來自服務器的XML響應,並在jQuery中解析它(jQuery 1.8.2在Chrome 23.0.1271.64和Firefox 15.01上)以獲得各種屬性。 3次中的2次按計劃運行,但第三次,attr()調用返回整個元素而不是attr值。使用XML,jQuery的.attr()和getAttribute()返回不同的結果是什麼時候?

作爲一個例子:

$(xmlData).find("template").attr("largeBlockFirst") 

返回與模板的標記名一個條目節點的數組,而

$(xmlData).find("template").get(0).getAttribute("largeBlockFirst") 

返回一個字符串。

我的理論是,由於某種原因,xmlData中有一些不同,我不能通過序列化看到它。在每種情況下,我的方法都是通過ajax調用上的成功回調調用的。每個響應都是內容類型text/xml(始終是相同的url,但僅限於每次都檢查類型)。

任何想法是什麼可能導致xml被分析不同?

+0

你可以在jsfiddle.net上創建一個例子(使用一個xml字符串,我想) –

+0

我不確定我可以。問題是相同的代碼響應不同,我無法確定它在(參數或上下文)中運行的環境有什麼不同。你是否知道這兩個回答這樣不同的答案的情況? – mortea

+0

不,據我瞭解'.attr()'應該總是返回一個字符串,無論如何。 –

回答

0

事實證明,TinyMCE的前3.5.4休息的jQuery 1.7.2或更高版本的版本。其中一種方法是打破attr函數。我升級到最新的tinymce,現在工作正常。希望沒有任何東西讓我擔心從tinymce升級,交叉手指。

相關問題