0

Я пытаюсь найти элементы в ответе XML от вызова AJAX, но я обнаружил, что имена тегов несколько нечетные. Эти теги вызывают проблемы с моими селекторами.Проблемы с совместимостью браузера с JavaScript и jQuery Селекторы

Элемент XML, который я ищу, в частности, - <d:Department>. Используя jQuery в Chrome, я могу найти этот элемент с $(xml).find('Department'). jQuery не может найти элемент в IE.

Использование JavaScript Я могу получить элемент в Chrome с помощью xml.getElementsByTagName('Department'). В IE я должен использовать xml.getElementsByTagName('d:Department').

Есть ли способ получить этот элемент в обоих браузерах с помощью JavaScript или jQuery без необходимости искать имена обоих тегов?

ответ

1

Jquery:

Какую версию JQuery вы используете?

Будьте в курсе текущей поддержки IE:

  • JQuery 1.x Internet Explorer 6+
  • JQuery 2.X Internet Explorer 9+

Try включая пространство имен в находке метод, как так:

$(xml).find('d\\:Department'); 

Это объясняется в jQuery XML parsing with namespaces

Javascript:

Попробуйте использовать getElementsByTagNameNS() следующим образом:

xml.getElementsByTagNameNS("d", "Department"); 

см: http://www.w3schools.com/xml/met_document_getelementsbytagnamens.asp

Надеется, что это помогает!

+0

У меня все еще были проблемы с тем же кодом, что и в Chrome и IE. Это в конечном итоге заставил его работать одинаково на обоих. '$ (rawXml) .find ('d \\: Department, Department')'. – DunningKrugerEffect

Смежные вопросы