删除关闭表标记

时间:2013-06-04 15:14:54

标签: javascript jquery

我在添加一些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);

3 个答案:

答案 0 :(得分:3)

jQuery不允许你添加“html”。它允许你预先添加DOM节点,它恰好有一个API,允许你通过传递HTML来创建它们。

您传递的任何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);

答案 1 :(得分: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

答案 2 :(得分: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));