0
xmlデータを解析するjQuery再帰関数がありますが、子要素の子を選択しようとしています。基本的には要素内の要素です。たとえばxmlの<to>
タグを選択したいので、インデントして展開の折りたたみボタンを追加することができます。jQuery再帰関数の選択子
XML
<?xml version="1.0" encoding="UTF-8"?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
jQueryの
function traverse(tree) {
$(tree).contents().each(function (i, child) {
if (child.nodeType == 3) { // text node
$("#xml-reader").append(
'<span>' + child.nodeValue + '</span>'
);
// this is my attempt
if (child.children) { // element node
$("#xml-reader").append(
'<br><i>' + child.nodeName + ": " + '</i>'
);
}
} else {
if (child.nodeType === 8) { // comment node
$("#xml-reader").append(
'<i>' + child.nodeValue + '</i>'
);
}
else {
$("#xml-reader").append(
'<br><b>' + child.nodeName + ": " + '<b>'
);
traverse(child);
}
}
}
);
}
traverse($(xml).find('*'));
'child.children'のそれは機能する必要があります:' child.children () 'を返します。 childがノードを含むオブジェクトであれば、 'child.to'でアクセスすることができます。例を設定したり、 '.each()'の中に 'tree'や' child'の内容を指定できることを確認するには? – empiric
@empiric私は関数全体を書き換えました。私は今、任意のXMLファイルを解析し、ブラウザでファイルを拡張可能なツリーとして出力する再帰的な関数を持っています。 – theWhiteFox