0

一切正常,但我在最后一期。我想创建包含 2 列数据的表,现在。我知道我可以轻松地在我的 xml 中设置它而不会出现问题。但是我宁愿在我的 jquery 中而不是在我的 XML 中设置它。这就是我想要做的。使用我当前的 Jquery,它需要项目并将它们放入一个表中移动到下一条记录,然后创建一个新表。现在。我希望一张表在单独的行中包含 2 条记录。有没有一种简单的方法可以在我的 jquery 中而不是在我的 XML 中执行此操作。我再次知道如何在我的 XML 中执行此操作,但我想学习如何在 Jquery 中执行此操作。这是我的脚本。

$(document).ready(function() {
    $('.con-mid').animate({
        "opacity": ".8"
    });
    $('.midcontent p').animate({
    opacity: 'toggle'
}, 3000);
    $.get('menu/menu-1a.xml', function(data) {
        $(data).find('main').each(function() {
           var $main = $(this);
            $main.find('menu').each(function() {
            var $menu = $(this);
            var id = $menu.attr('id');
            var head = $menu.find('menuhead').text();

            var html = '<div class="mainmen" id="main_' + id + '">';
            html += '<table class="menus"><th colspan="5"><h1>' + head + '</h1></th>';
            $menu.find('menuitem').each(function() {
                var $menuitem = $(this);
                var name = $menuitem.find('menuname').text();
                var desc = $menuitem.find('menudesc').text();
                var price = $menuitem.find('price').text();
                var desprice = $menuitem.find('price2des').text();
                var price2 = $menuitem.find('price2').text();

                html += '<tr class="menu_item">';
                html += '<td class="h-menu">' + name + '</td>';
                html += '<td class="d-menu">' + desc + '</td>';
                html += '<td class="price">' + price + '</td>';
                html += '<td class="desprice">' + desprice + '</td>';
                html += '<td class="price2">' + price2 + '</td>' + '</tr>';


                });
                $('#menuitem').append($(html));
            });
        });
    });



--XML--
            <?xml version="1.0" encoding="iso-8859-1"?>
              <main>
            <menu id="appet">
            <menuhead>
            Appetizers
            </menuhead>
    <menuitem>
        <menuname>
        Cheese Stick
        </menuname>
        <menudesc>
        (6 Sticks)
        </menudesc>
        <price>
        $7
        </price>
        <price2des>
        </price2des>
        <price2>
        </price2>
        </menuitem>
        <menuitem>
        <menuname>
        Fried Mushrooms
        </menuname>
        <menudesc>
        </menudesc>
        <price>
        $7
        </price>
        <price2des>
        </price2des>
        <price2>
        </price2>
        </menuitem>
        <menuitem>
        <menuname>
        Fried Calamari
        </menuname>
        <menudesc>
        </menudesc>
        <price>
        $9
        </price>
        <price2des>
        </price2des>
        <price2>
        </price2>
        </menuitem>
        <menuitem>
        <menuname>
        Bruchetta
        </menuname>
        <menudesc>
        </menudesc>
        <price>
        $10
        </price>
        <price2des>
        </price2des>
        <price2>
        </price2>
    </menuitem>
    <menuitem>
        <menuname>
        Shrimp Bruchetta
        </menuname>
        <menudesc>
        </menudesc>
        <price>
        $10
        </price>
        <price2des>
        </price2des>
        <price2>
        </price2>
    </menuitem>
    <menuitem>
        <menuname>
        Garlic Bread
        </menuname>
        <menudesc>
        </menudesc>
        <price>
        $3
        </price>
        <price2des>
        With Cheese
        </price2des>
        <price2>
        $4
        </price2>
    </menuitem>

    <menuitem>
        <menuname>
        Soups
        </menuname>
        <menudesc>
        (Minestrone or Pasta Fagioli) Cup
        </menudesc>
        <price>
        $4
        </price>
        <price2des>
        Bowl
        </price2des>
        <price2>
        $6
        </price2>
    </menuitem>

    <menuitem>
        <menuname>
        Zupa de Mussels
        </menuname>
        <menudesc>
        </menudesc>
        <price>
        $7
        </price>
        <price2des>
        </price2des>
        <price2>
        </price2>
    </menuitem>

    <menuitem>
        <menuname>
        Side Meatballs or Sausage or Alfredo Sauce
        </menuname>
        <menudesc>
        </menudesc>
        <price>
        $4
        </price>
        <price2des>
        </price2des>
        <price2>
        </price2>
    </menuitem>
</menu>
4

1 回答 1

0

我想你只是忘了关闭你的桌子和你的 div:

html += '</table></div>';
$('#menuitem').append($(html));

顺便说一句 .append(html) 也应该工作。

[更新]您还缺少一个 tr:

html += '<table class="menus"><tr><th colspan="5"><h1>' + head + '</h1></th></tr>';
于 2012-11-05T21:03:26.577 回答