我正在研究一个小网站的想法,但我在这方面都不是很擅长。我基本上有一个 HTML 测验,它会提示用户我在 XML 中定义的问题。
window.onload = function xml()
{
// get form from HTML
var form = document.getElementById("form");
// get XML document
if (window.XMLHttpRequest)
{
var xmlhttp = new XMLHttpRequest();
}
// open XML
xmlhttp.open("GET", "questions.xml", false);
xmlhttp.send(null);
// initialize elements for do document, questions, and details
var xmlDoc = xmlhttp.responseXML;
var question = xmlDoc.getElementsByTagName("question");
在上面的行中,我收到一条错误消息“无法调用 null 的方法 'getElementsByTagName'”。然而,奇怪的是,如果 XML 文件有多个“问题”标签,我只会得到所说的错误。如果我的 XML 中只有一个“问题”标签,那么整个函数就可以完美运行。所以我想知道在这种情况下发生了什么,以及为什么它对我不起作用。
(下面的其余代码显示了我开始使用该功能的地方)
var qXML = xmlDoc.getElementsByTagName("q");
// write values into HTML for each question
for ( i = 0 ; i < question.length ; i++ )
{
// qBlock div for question
var div = document.createElement('div');
div.className = "qBlock";
此代码继续运行一段时间以获取 HTML 中的所有字段。总的来说,循环中的这段代码一直有效,除非有多个“问题”元素。
非常感谢任何可以帮助/教我的人。如果我做错了什么,也可以随时告诉我。我愿意接受任何批评。