-1

HTMLを前に追加した後、終了タグを削除しようとしています。終了タグを指定していないにもかかわらず、終了タグが追加されます。どうしてこれなの?

まず、変数があります。

var tableCode = '<table class=prodDescTable border=1 cellSpacing=0>';

そのコードをいくつかのテーブル行の前に追加したいので、以下の html を取得します。

<table class="prodDescTable" border="1" cellspacing="0"></table> <tbody> <tr> <th style="BORDER-LEFT: 0px">Product Code Photo</th> <th>Specs</th>

HTML の先頭に追加すると、テーブルの終了タグが自動的に追加されます。テーブルの終了タグを削除して最後に配置するにはどうすればよいですか?

編集:

これが私が使用していたプリペンドコードです

$(table).prepend(tableCode);
4

3 に答える 3

3

jQuery では、「html」を先頭に追加できません。DOM ノードを先頭に追加できます。たまたま、HTML を渡すことでそれらを作成できる API があります。

渡す HTML はすべて、完全な要素に変換されます。

HTML の断片ではなく、ノード ツリーを操作する必要があります。

すなわち

var table = jQuery('<table>');
var row = jQuery('<tr>');
var cell = jQuery('<td>');
row.append(cell);
table.append(row);
container.append(table);

または、追加する前にすべての HTML を文字列で構築します。

var html = '<table>';
html += '<tr>';
html += '<td>';
html += '</td>';
html += '</tr>';
html += '</table>';
container.append(html);
于 2013-06-04T15:17:50.480 に答える
0

おそらくあなたはこのようなことをしています(これは自動的にクロージングを追加し</table>ます)-

$('#someDivID').prepend(tableCode);

次のようにコンテンツをテーブルに挿入できます-

var htm = '<tbody> <tr> <th style="BORDER-LEFT: 0px">Product Code Photo</th> <th>Specs</th>';
$('#someDivID').prepend($(tableCode).append(htm));
于 2013-06-04T15:21:58.663 に答える
0

最初にjqueryを使用してテーブルを構築し、次に完成したテーブルをdomに追加できます

だからあなたが持つことができます

var newTable = $("<table>");
var newRow = $("<tr>");
var newCell = $("<td>")
$(newCell).append("<div>Hello World!</div>");
$(newRow).append(newCell);
$(newTable).append(newRow);

次に、そのテーブルをdomに追加します

于 2013-06-04T15:20:19.390 に答える