XML Jquery问题

时间:2012-11-05 20:50:44

标签: jquery xml

一切都有效,但最后一个问题。我想创建包含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>

1 个答案:

答案 0 :(得分:0)

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

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

顺便说一下.append(html)也应该有用。

[更新]你也错过了一个tr:

html += '<table class="menus"><tr><th colspan="5"><h1>' + head + '</h1></th></tr>';