-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 节点,它恰好有一个 API 可以让您通过传递 HTML 来创建它们。

您传递的任何 HTML 都将转换为完整的元素。

您需要使用节点树,而不是 HTML 片段。

IE

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

可以先使用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 回答
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 回答