-2
我有不同的嵌套的div和輸入的DOM(含值):的JQuery使XML字符串從DOM模型
<div id ="div_id1">
<div id ="div_id2">
<table>
<tr>
<td>input 1:</td>
<td><input id="i1" type="text"/></td>
</tr>
<tr>
<td>input 2:</td>
<td><input id="i2" type="text"/></td>
</tr>
<tr>
<td>input 3:</td>
<td><input id="i3" type="text"/></td>
</tr>
</table>
<div id ="div_id3">
<table>
<tr>
<td>input 4:</td>
<td><input id="i4" type="text"/></td>
</tr>
<tr>
<td>input 5:</td>
<td><input id="i5" type="text"/></td>
</tr>
</table>
</div>
</div>
如何使根據這種結構遞歸XML字符串? 像這樣:
<div_id1>
<div_id2>
<i1>value 1</i1>
<i2>value 2</i2>
<i3>value 3</i3>
<div_id3>
<i4>value 4</i4>
<i5>value 5</i5>
</div_id3>
</div_id2>
UPD:
我想這樣的功能:
function makeXml(nodes) {
var $result = $('<' + nodes.attr('id') + '>');
$.each(nodes, function(i, node) {
var nodeId = node.getAttribute('id');
var $el = $('<' + nodeId + '>').text($('#' + nodeId).val());
alert(nodeId + $('#' + nodeId).val());
$el.appendTo($result);
var $children = $(node).children();
if ($children.length > 0) {
makeXml($children).appendTo($el);
}
});
return $result;
};
但它不能正常工作(不正確處理嵌套的div)。
有沒有人有任何解決方案?
你嘗試過什麼嗎? – 2013-05-06 13:32:29
你能告訴我們你試過什麼,以便我們可以幫助你解決它嗎? Http://www.whathaveyoutried.com – 2013-05-06 13:32:38
你的HTML無效。我建議你在繼續之前解決這個問題。 – Spokey 2013-05-06 13:53:09