我目前正在尝试创建一个 javascript 闭包,它将使用我拥有的 XML 文件中的值创建一个下拉列表。我已经让它适用于大部分代码,并且每次我不得不使用它时都在加载 XML 文件。我想让代码更高效,并且只加载一次 XML 文件。我尝试使用下面的代码执行此操作,但不断收到错误消息。
这是我的关闭代码...
var closure = function() {
var xmlDoc;
return{
setXML: function()
{
xmlDoc = this.loadXMLDoc("feed.xml");
},
loadXMLDoc: function(dname)
{
if (window.XMLHttpRequest)
{
xhttp=new XMLHttpRequest();
}
else
{
xhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xhttp.open("GET",dname, false);
xhttp.send();
return xhttp.responseXML;
},
createField: function()
{
x = xmlDoc.getElementsByTagName("name");
//code to create the drop down box
},
findValue: function()
{
y = xmlDoc.getElementsByTagName("value");
//code to find value
}
};
}();
这是调用函数的代码...
$(document).ready(function () {
closure.setXML();
});
我得到的错误是'无法调用未定义的方法'getElementsByTagName',它可以在createField函数中找到。这是我第一次尝试使用 xmlDoc。
非常感谢有关该问题的任何帮助或教程。