我正在尝试使用 JQuery 遍历我已读入并转换为 JQuery 对象的 XML 文档中的嵌套节点。在 XML 形式中,它看起来像:
<Nodes>
<Node attrib="tree">
<Node attrib="tree" att2="something">
<Node attrib="leaf" att2="somethingelse"></Node>
</Node>
<Node attrib="leaf" att2="somethingmore"></Node>
</Node>
<Nodes>
我实际上想使用 attrib="leaf" 为每个节点执行一个功能。节点元素可以嵌套在任何级别,最多可能为 10。
我发现了各种使用 .each 的递归方法,但无法让它们迭代。在没有选择特定属性的情况下,我根据这里的一些很好的例子尝试了这种事情,但看不到它。ViewData.nodeTree 是上述 XML 加载的 XML JQquery 对象。
$.each(ViewData.nodeTree, function (key, val) {
recursiveFunction(key, val);
});
function recursiveFunction(key, val) {
actualFunction(key, val);
var value = val['Node'];
if(value instanceof Object) {
$.each(value, function (key, val) {
recursiveFunction(key, val);
});
}
}
function actualFunction(key, val) {
alert(key + " " + val);
}