我有一个包含问题列表的XML文件。当HTML页面加载并加载答案作为单选按钮时,我想加载列表中的第一个问题。当选择其中一个单选按钮时,我想显示结果以及继续按钮。 continue按钮将转到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");
});
});
}
有什么想法吗?
答案 0 :(得分:1)
get()函数返回非包装的set元素,在这种情况下它将是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");
});
另外,我不确定为什么你在函数调用中包含$(document).ready。你什么时候打电话给这个功能。如果它在文档加载之后,那么你真的不需要它。