Кросс браузерный массив
Всем привет. Такой вопрос. Не получается кросс браузерно заполнить двумерный массив. Пример кода:
$arr=[];//объявлен глобально .... $a=0; ........ $arr[$a]=[$(this).find("name").text(),$(this).find("genre").text(),$(this).find("made").text(),$(this).find("director").text(),$(this).find("time").text(),$(this).find("year").text()]; Работает заполнение только в FireFox. Есть какие-то решения? |
Цитата:
|
Вы предлагаете начать все занового с кросс браузерного тестового примера, и потом его нарастить? Дело в том, что я и начинал всё с тестового примера. Элементарно $arr[0]=["",""]; не работает.
|
Цитата:
var a=[]; a[0]=[1,2]; alert(a[0]); Работает! :) |
Вот вам код где не работает. Может это из-за парсера xml?
$(function(){ $.ajax({ type: "GET", url: "film.xml", dataType: "xml", success: parseXml }); $arr=[]; $a=0; function parseXml(xml) { $("#selecet").empty(); $(xml).each(function() { $a=0; $(this).find("film").each(function() { $("#selecet").append( $('<option class="selp" value="'+$(this).find("name").text()+'">'+$(this).find("name").text()+'</option>')); $arr[$a]=[$(this).find("name").text(),$(this).find("genre").text(),$(this).find("made").text(),$(this).find("director").text(),$(this).find("time").text(),$(this).find("year").text()]; $a++; }); }); }; parseXml(); }); |
Вопрос решён. Таки был не кросс браузерный парсер.
|
Цитата:
так вы парсите XML движком HTML-а лучше так: $.parseXML(xml);//только тут будет ссылка на документ, а не корневую ноду. она чуть глубже Или сразу так: $.parseXML(xml).children();//аналогично $(xml) выдает корневую ноду, но при этом лишен кучи недостатков |
Часовой пояс GMT +3, время: 16:46. |