我有一个简单的XML文件,该文件由下面发布的脚本加载到页面上。它从字符串转换为XML文件没有任何问题,但是使一切变得复杂的事实是,我无法找到孩子的孩子。
我想知道为什么我的代码无法正常工作,我应该怎样做才能获得代码名称。
function load_xml() {
$.ajax({
type: "GET",
url: "file.xml",
dataType: "xml",
success: function (xmlData) {
var $first_child = $(xmlData).children()[0];
var first_name = $first_child.nodeName; // returns a proper name of a node
var $second_child = $first_child.children()[0]; // doesn't work
var $second_name = $second_child.nodeName; // returns nothing (don't know why)
},
error: function () {
alert("Could not retrieve XML file.");
}
});
}
答案 0 :(得分:1)
在您的情况下,$first_child
不是jQuery集合。你需要用$()
包装它。这是一个更正版本。
var first_child = $(xmlData).children()[0]; // [0] actually returns the first "raw" node
var first_name = first_child.nodeName;
var $first_child = $(first_child);
var second_child = $first_child.children()[0];
var second_name = second_child.nodeName;