Похоже, что работает в Safari и Firefox, но не в IE. У меня есть произвольная строка XML, которая приходит из ответа Flash (это сложно).
Вот JSFiddle, который пытается найти простой тег в XML: http://jsfiddle.net/MJSa8/5/
В другом месте я читал, что когда речь идет об ответчике Ajax, вы должны быть уверены, что установили тип содержимого xml, чтобы он работал в IE, но это всего лишь строка XML. Есть ли способ заставить IE обрабатывать его как XML?
Редактировать: Также поместите пример кода здесь для справки:
var xml ='<postresponse><location>http://something.s3.amazonaws.com/15o96sf3h1div1auj121e1oc3j1u.png</location><bucket>something</bucket><key>15o96sf3h1div1auj121e1oc3j1u.png</key><etag>"85d3db1aaeb47aecaace540c7ce7a609"</etag></postresponse>'; var len = $(xml).find('location').length; $('#output').text(len);
попробуйте это:
var xml ='<postresponse><location>http://something.s3.amazonaws.com/15o96sf3h1div1auj121e1oc3j1u.png</location><bucket>something</bucket><key>15o96sf3h1div1auj121e1oc3j1u.png</key><etag>"85d3db1aaeb47aecaace540c7ce7a609"</etag></postresponse>'; if (window.DOMParser) { parser=new DOMParser(); xmlDoc=parser.parseFromString(xml,"text/xml"); } else // Internet Explorer { xmlDoc=new ActiveXObject("Microsoft.XMLDOM"); xmlDoc.async="false"; xmlDoc.loadXML(xml); }