Кросс браузерный массив
Всем привет. Такой вопрос. Не получается кросс браузерно заполнить двумерный массив. Пример кода:
$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, время: 20:04. |