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