从循环中添加对象时,我在以正确格式创建对象时遇到问题。
例如,我遍历一些列表
<ul class="pdmenu">
<ul class="pdmenu">
<li class="menu-top" id="vmen-1"><a href="#">1</a></li>
<li class="menu-item"><a href="#">aaa</a></li>
</ul>
<ul class="pdmenu">
<li class="menu-top" id="vmen-2"><a href="#">2</a></li>
<li class="menu-item"><a href="#">aaa</a></li>
<li class="menu-item"><a href="#">bbb</a></li>
</ul>
<ul class="pdmenu">
<li class="menu-top" id="vmen-3"><a href="#">3</a></li>
<li class="menu-item"><a href="#">aaa</a></li>
<li class="menu-item"><a href="#">bbb</a></li>
</ul>
我使用 jQuery 循环遍历顶部列表项,.menu-top
并将 和 可见性推id
送到对象。
jsonmenu = $(); // Set empty object.
$('.menu-top').each(function(index) {
jsonmenu.push({
menu: $(this).attr('id'),
visible: "" + $(this).next().is(':visible') + ""
});
});
这会为每个项目创建具有成员的对象,如下所示
{
"0": {
"menu":"vmen-1",
"visible":"false"
},
"length":4,
"1": {
"menu":"vmen-2",
"visible":"false"
},
"2":{
"menu":"vmen-3",
"visible":"false"
},
"3": {
"menu":"vmen-4",
"visible":"true"
}
}
我只需要一个简单的格式,如下所示;
{
"menu":"vmen-1",
"visible":"false"
},
{
"menu":"vmen-2",
"visible":"false"
},
{
"menu":"vmen-3",
"visible":"false"
},
{
"menu":"vmen-4",
"visible":"true"
}
如何更改它以获取这种简单格式的对象?