在 JavaScript 中,您可以像这样获取 XML 节点的子节点…
var children = xml.childeNodes;
我如何获得一个对象的孩子?
var obj = {
prop1: 'stuff',
prop2: 'things',
prop3: 'stuff-n-things'
}
第二轮
给定一个这样的对象..
var Obj = {
levelOneProp1: 'stuff',
levelOneProp2: 'things',
levelOneProp3: {
levelTwoProp1: 'moreStuff',
levelTwoProp2: 'morethings',
levelTwoProp3: 'morestuff-n-things'
}
}
我想知道 Obj
中的哪些属性有子项,以便我可以以递归方式遍历它们。目标是能够为数据集提供(理论上)无限数量的子项,并将它们的值应用于输入元素……这是我目前所拥有的。
function applyData( dataSet ){
var hasChildren = false;
for(var i = 0; i < dataSet.childNodeArrayGoesHere.length; i++){
if(dataSet.detectChildNodesHere){
hasChildren = true;
}
}
if(hasChildren){
for(var j = 0; j < dataSet.childNodeArrayGoesHere.length; i++){
applyData(dataSet[j]);
}
} else {
//apply the key/value pair to an input element
$("input[name" + dataSet.propertyName + "]").val(dataSet.propertyValue);
}
}
原文由 Derek Adair 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可以 像这样 递归地遍历对象的所有属性。
找到所有的结束节点,通过名称选择对应的输入标签,并将值放入其中。
我使用了一个只有两层的对象,但它可以用于 n 层的对象。