【发布时间】:2018-12-24 13:46:29
【问题描述】:
如何将下面的 DOM 转换为 JSON 数组,这将在未来有更多的叶子。我已经尝试了很多,但没有得到任何解决方案。我找到了this,但在我的情况下这是不可能的。
HTML 代码
<ul id="org1">
<li>
Main
<ul data-self="1">
<li data-self="2" data-parent="1">A
<ul data-self="2">
<li data-self="5" data-parent="2">A1</li>
<li data-self="6" data-parent="2">A2</li>
<li data-self="7" data-parent="2">A3</li>
<li data-self="8" data-parent="2">A4</li>
<li data-self="9" data-parent="2">A5</li>
<li data-self="10" data-parent="2">A6</li>
</ul>
</li>
<li data-self="3" data-parent="1">B
<ul data-self="3">
<li data-self="11" data-parent="3">B1</li>
<li data-self="12" data-parent="3">B2</li>
<li data-self="13" data-parent="3">B3</li>
<li data-self="14" data-parent="3">B4</li>
</ul>
</li>
</ul>
</li>
</ul>
JSON 要求是
{
1:{
2:{5,6,7,8,9,10},
3:{11,12,13,14}
}
}
脚本
function recursive(dis)
{
$(this).find(' > ul ').each(function(){
params[$(this).attr('data-self')]=[];
var i=0;
$(this).find('li').each(function(){
if($(this).has('ul'))
{
params[$(this).attr('data-parent')][i++]=rec(this);
}else
{
params[$(this).attr('data-parent')][i++]=$(this).attr('data-self');
}
});
});
}
recursive('#org1');
console.log(params);
【问题讨论】:
-
至少向我们展示您尝试过的什么...
-
您尝试过的只是显示代码。我们没有输入所有代码并为您得到答案这是不可能的
-
一分钟发帖代码
-
请检查代码更新
-
{ 1:{ 2:{5,6,7,8,9,10}, 3:{11,12,13,14} } }不是 JSON。它甚至不是 JavaScript。
标签: javascript jquery json