0
 success: function (data, status) {
            var header = $("#MainDiv");

            header.html(null);
            var headertemplate = $("<table class='searchlistbody'><tr></th><th>Name</th></tr>");
            header.append(headertemplate);

            $.each(data, function () {
                var template = $("<tr> <td class='campnameAltrow'><span class='searchListTitle'></span></td></tr>");

                        template.find('span.searchListTitle').attr('title', this.Title);

                // add the template to the collection
                header.append(template);
            });
            header.append("</table>");
        },

テーブルに境界線を設定しようとすると、ヘッダー(名前)などのタグにのみ境界線が適用されていることに気付きました。

 Debugging further in fire bug I saw that the DOM sequence is in this format
        <table class='searchlistbody'><tr><th>Name</th></tr></table>
        <tr> <td class='campnameAltrow'>Test</td></tr>
        <tr> <td class='campnameAltrow'>Test</td></tr>
        <tr> <td class='campnameAltrow'>Test</td></tr>
        <tr> <td class='campnameAltrow'>Test</td></tr>
        <tr> <td class='campnameAltrow'>Test</td></tr>

すべてのforループ行を追加する前にテーブルが閉じる理由を誰かに教えてもらえますか....それはAJAX呼び出しです

4

2 に答える 2

1

追加機能のドキュメントから判断すると:http://api.jquery.com/append/実際には適切なDOM要素を処理しようとします

文字列連結操作として使用しないでください

代わりに、テーブル要素を作成し、そこにTHとTRを別々に追加してみてください。

var table = $("<table ...></table>")
table.append("<th>...</th>")
$.each(function() {
  ...
  table.append("<tr>...</tr>")
  ...
})
于 2012-12-17T16:54:54.257 に答える
0

domに要素をつなぎ合わせて追加することはできません。したがって、ヘッダーにテーブルを追加してから、テーブルに行を追加します

 success: function (data, status) {
            var header = $("#MainDiv");

            header.html(null);
            var headertemplate = $("<table class='searchlistbody'><tr></th><th>Name</th></tr></table>");
            header.append(headertemplate);

            $.each(data, function () {
                var template = $("<tr> <td class='campnameAltrow'><span class='searchListTitle'></span></td></tr>");

                        template.find('span.searchListTitle').attr('title', this.Title);

                // add the template to the collection
                headertemplate.append(template);
            });
        },
于 2012-12-17T16:52:30.850 に答える