我得到了一個來自服務器的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被分析不同?
你可以在jsfiddle.net上創建一個例子(使用一個xml字符串,我想) –
我不確定我可以。問題是相同的代碼響應不同,我無法確定它在(參數或上下文)中運行的環境有什麼不同。你是否知道這兩個回答這樣不同的答案的情況? – mortea
不,據我瞭解'.attr()'應該總是返回一個字符串,無論如何。 –