0

すべてが機能しますが、最後の問題が発生しています。データがロードされる 2 つの列を持つテーブルを作成したいと思います。問題なくxmlでこれを簡単に設定できることを私は知っています。しかし、XML ではなく、jquery でこれを設定したほうがよいでしょう。これが私がやりたいことです。私の現在のJqueryでは、アイテムを取得して1つのテーブルに配置すると、次のレコードに移動し、その後新しいテーブルが作成されます。今。1 つのテーブルに 2 つのレコードが別々の行に含まれるようにします。XML ではなく jquery でこれを行う簡単な方法はありますか。繰り返しますが、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 に答える