Наличие проблемы, анализирующей XML с jQuery

Я пытаюсь проанализировать некоторые данные XML с помощью jQuery, и как есть Я извлек 'идентификационный' атрибут необходимых узлов и сохранил их в массиве, и теперь я хочу выполнить цикл для каждого участника массива и в конечном счете захватить больше атрибутов из примечаний, характерных для каждого идентификатора.

Проблема в настоящее время состоит в том, что, после того как я добираюсь до 'для' цикла, это не цикличное выполнение, и я думаю, что, возможно, записал данные пути XML неправильно. Это работает однажды, и я получаю 'предупреждение (arrayIds.length)'; только однажды, и это только циклично выполняет корректную сумму времен, если я удаляю последующий код пути XML.

Вот моя функция:

    var arrayIds = new Array();
$(document).ready(function(){
  $.ajax({
    type: "GET",
    url: "question.xml",
    dataType: "xml",
    success: function(xml)
    {
                  $(xml).find("C").each(function(){
                        $("#attr2").append($(this).attr('ID') + "<br />");
                        arrayIds.push($(this).attr('ID'));
                  });

                  for (i=0; i<arrayIds.length; i++)
                  {
                    alert(arrayIds.length);
                    $(xml).find("C[ID='arrayIds[i]']").(function(){
                        // pass values
                        alert('test');
                    });
                  }
    }
  });
});

Какие-либо идеи?

1
задан Jack Roscoe 2 June 2010 в 15:12
поделиться

2 ответа

Эта строка недействительна. Вам не хватает имени функции. Это приводит к сбою скрипта.

$(xml).find("C[ID='arrayIds[i]']").(function(){

должно быть (возможно):

$(xml).find("C[ID='" + arrayIds[i] + "']").each(function(){ // Note the added each
1
ответ дан 3 September 2019 в 00:06
поделиться

Должно быть:

$(xml).find("*[ID=" + arrayIds[i] + "]").each(function(){
    // pass values
    alert('test');
});

Раньше вы искали id с буквальным значением "arrayIds[i]". Кроме того, идентификаторы уникальны, поэтому вам не нужна буква C, и я изменил ее на стандартный синтаксис jQuery. Также, как сказал Патрик, вам не хватало каждого из них.

1
ответ дан 3 September 2019 в 00:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: