列出JS对象数组

时间:2017-01-19 07:04:03

标签: javascript jquery html arrays

我在js中有一个数组,就像这样

menu = [
        {
            name: 'Item1',
            //submenuName: 'submenu-1',
        },
        {
            name: 'Item2',
            submenuName: 'submenu-2',
            sub: [
                {
                    name: 'Item2_1',
                    //submenuName: '',
                },
                {
                    name: 'Item2_2',
                    //submenuName: '',
                },
                {
                    name: 'Item2_3',
                    //submenuName: '',
                }
            ]
        },
        {
            name: 'Item3',
            //submenuName: 'submenu-3',
        }
    ]

我需要在ul标签中列出它们,但每个级别必须在另一个级别之前关闭。

<ul data-menu="main">
  <li data-submenu>Item1</li>
  <li data-submenu='submenu-2'>Item2</li>
  <li data-submenu>Item3</li>
</ul>
<ul data-menu="submenu-2">
  <li data-submenu>Item2_1</li>
  <li data-submenu>Item2_2</li>
  <li data-submenu>Item2_3</li>
</ul>

等等。我已经想要打印它们但只有第一级。无法打印子级别。

1 个答案:

答案 0 :(得分:1)

如果菜单需要一个接一个地列出而不是嵌套,那么在打印父菜单时,要维护一个菜单数组以打印并用子菜单填充该数组。

由于您提到过,您正在使用jQuery,以下是使用此库的示例。

<script type='text/javascript'>
    if (document.getElementById('shipping_method_0_distance_rate_shipping').checked) {
        alert("Delivery checked!");
    }
</script>

JSFiddle example

相关问题