1

これまでのところ、以下のコードが機能しています。私の唯一の問題は、テーブルが親 div に挿入されたときに、HTML テーブルの関連付けられたスタイルが適用されないことです。これを解決する最善の方法は何ですか? jQuery モバイルと連携して jQuery を使用しています。

var tableBase = '<table data-role="table" id="score-table" style="margin-left: auto; margin-right: auto;" class="ui-responsive table-stroke ui-table ui-table-reflow"><thead><tr><th data-priority="1">Event</th><th data-priority="2">Score</th></tr></thead><tbody>';
function buildTable(data) {
     var tableCopy = tableBase;
     data.forEach(function(element, index, array) {
         tableCopy = tableCopy + '<tr><td>' + element.event + '</td><td>'
            + element.points + '<td></tr>';
      });
tableCopy = tableCopy + '</tbody></table>';
return tableCopy;
}

次に#('#targetDiv').html(buildTable(myData))、テーブル html を div に挿入する a があります。スタイルが適用されないことを除いて、すべてが機能します。jQuery モバイルのレスポンシブ/リフロー テーブルを使用しています。

4

1 に答える 1

1

テーブルがDOMに挿入された後、テーブルのプラグインを再実行しすぎたと思います:http: //jquerymobile.com/demos/1.2.0-alpha.1/docs/pages/page-dynamic.html

// Pages are lazily enhanced. We call page() on the page
// element to make sure it is always enhanced before we
// attempt to enhance the listview markup we just injected.
// Subsequent calls to page() are ignored since a page/widget
// can only be enhanced once.
$page.page();

// Enhance the listview we just injected.
$content.find( ":jqmData(role=listview)" ).listview();
于 2013-01-16T08:56:02.910 に答える