Я использую jquery 1.6.2.Ошибка, отображаемая в моей консоли ie, является неожиданным вызовом доступа к методу или свойству.jquery.min.js, строка 17, символ 29094.
Я тестировал на всех современных браузерах, и он прекрасно работает без каких-либо ошибок в консоли, но при попытке установить ie8 мой XML-файл не загружается.Мой ajax-вызов в порядке, так как selectXml запускается, но не код внутри (с ним не должно быть никаких проблем, поскольку он работает в другом браузере, а я уже проверил проверку XML), боролся в течение нескольких часов.Я думаю, что ie8 не работает должным образом с jquery.
$(document).ready(function() {
$.ajax({
type: "GET",
url: "menu.xml",
dataType:"text",
success: selectXml
});
(моя функция selectXml)
function selectXml (xml) {
var xmlDoc = $.parseXML(xml);
console.log(xmlDoc);
var i = 0,
j = 0,
k = 0,
l = 0,
maxCat = $(xmlDoc).find("categorie").length,
maxPage = 14,
numPlate = 0,
numSection = 2,
page = 0,
queryXml,
title,
theNo,
thePlate,
thePrice,
theSection;
//for each page divide it in 2 sections
for(i=1; i<=maxPage; i++){
if( j < maxCat){
//for each sections add the title and left, right section
//for each left right section, fill up the dishes
for(k=0; k<numSection; k++){
queryXml = $(xmlDoc).find('categorie').eq(j);
title = queryXml.find("title[lang=" + jQuery.fn.language + "]").text();
numPlate = queryXml.find('plate').length;
$('#menu'+ i).append('<section></section>');
$('section').eq(j).append('<div class="menuTitle"><h1>'+ title +'</h1><div class="ribbon"></div></div><div class="menuLeft"><ul></ul></div><div class="menuRight"><ul></ul></div>');
theSection = $('section').eq(j);
for(l=0; l<numPlate; l++){
if(l< (numPlate/2)){
theNo = queryXml.find('plate').eq(l).find('number').text();
thePrice = queryXml.find('plate').eq(l).find('price').text();
thePlate = queryXml.find('plate').eq(l).find('description[lang='+jQuery.fn.language+']').text();
//console.log(thePlate);
$('section').eq(j).find('.menuLeft ul').append('<li><span class="itemNumber">' + theNo +'</span><span class="itemName">'+ thePlate+'</span> <span class="itemPrice">'+ thePrice+'</span></li>');
}
else {
theNo = queryXml.find('plate').eq(l).find('number').text();
thePrice = queryXml.find('plate').eq(l).find('price').text();
thePlate = queryXml.find('plate').eq(l).find('description[lang='+jQuery.fn.language+']').text();
$('section').eq(j).find('.menuRight ul').append('<li><span class="itemNumber">' + theNo +'</span><span class="itemName">'+ thePlate+'</span> <span class="itemPrice">'+ thePrice+'</span></li>');
}
};
numPlate = $(this).find('plate').length;
j++;
}
}//end if
}//end for
}