我有一张标准表:
我想使用jQuery重新格式化表格,更具体地说,我想添加一个结束tr并在tbody中为第一个td打开一个新的tr ..
我可以使用下面的jquery来确定目标,并插入html,但方式错误..
$('</tr><tr>').insertAfter('.table thead tr td:first-child');
新标记的顺序错误...任何帮助将不胜感激。
<tr></tr> <--wrong!
我需要它:
</tr><tr>
我错过了什么吗?
<table>
<thead>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
<td>5</td>
<td>6</td>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
<td>5</td>
<td>6</td>
</tr>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
<td>5</td>
<td>6</td>
</tr>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
<td>5</td>
<td>6</td>
</tr>
</tbody>
</table>
答案 0 :(得分:1)
jQuery,JavaScript通常会创建和操作有效的DOM元素/节点;它不会在HTML中插入字符串(尽管您可以使用.html()
/ innerHTML
方法执行此操作,尽管存在一些潜在的解析困难)。如果要在thead
中插入新行,则只需:
$('<tr />').insertAfter('thead tr:last');
我不确定您为什么要尝试插入字符串而不是新节点/元素。如果您使用更具体的信息更新您的问题,那么我将使用更好的解决方案更新我的答案(如果可能的话)。
答案 1 :(得分:0)
您正在将tr转换为jquery dom元素。哪个不能让你这样做。它始终保持标签的开启和关闭顺序。
你必须通过获取表格的第一个Tr的HTML来进行字符串操作
var html = ('.table thead tr:first-child').html();