2009-02-04 28 views
1

我有一個包含問題列表的XML文件。我想在HTML頁面加載並以單選按鈕加載答案時加載列表中的第一個問題。當其中一個單選按鈕被選中時,我想顯示結果以及繼續按鈕。繼續按鈕將轉到XML文件中的第二個元素。使用jQuery和HTML分頁XML數據

所以,我有以下迄今:

function generateQuestion(i) { 
    $(document).ready(function() { 
     $.get('quiz.xml', function(d) { 
      alert('Loaded XML'); 
      $(d).find('question').get(0, function() { 
       alert('Loaded Question'); 
       var $question = $(this); 
       var questionContent = $question.attr("content"); 
       $(questionContent).appendTo("#quizQuestion"); 
      }); 
     }); 
    }); 
} 

然而,從問題的內容中的元素是永遠不會加載。當我去獲取文檔中的第一個元素時,它看起來像掛起。我的猜測是,沒有重載將對象注入函數。

我正確嗎?任何人有任何快速的資源,顯示一個基本的問題類似的例子,我想要生成?

更新:我已經更新的代碼下面,它似乎被逮住的屬性屬性:

function generateQuestion(i) { 
    $(document).ready(function() { 
     $.get('quiz.xml', function(d) { 
      var $question = $(d).find('question').get(i); 
      var questionContent = $question.attr('content'); 
      alert(questionContent); 
      $(questionContent).appendTo("#quizQuestion"); 
     }); 
    }); 
} 

任何想法?

回答

1

get()函數在這種情況下返回非包裝集合元素它將是xml元素。

$.get('quiz.xml', function(d) { 
    var question = $(d).find('question :eq(0)'); 
    var questionContent = question.attr('content'); 
    alert(questionContent); 
    $(questionContent).appendTo("#quizQuestion"); 
}); 

的另一種方法是重新包裝的對象

$.get('quiz.xml', function(d) { 
    var question = $(d).find('question').get(0); 
    var questionContent = $(question).attr('content'); 
    alert(questionContent); 
    $(questionContent).appendTo("#quizQuestion"); 
}); 

而且,我不知道爲什麼你包括$(文件)。就緒函數調用裏面。你什麼時候調用這個函數。如果它在文檔加載之後,那麼你並不需要那麼做。

+0

一旦我回到我的開發機器面前(不管是在今晚晚些時候,還是在明天) – 2009-02-04 23:41:06