如何用 jQuery 拆分 table 行(在 TD 之间插入 TR)
How to split a table row with jQuery (insert TR between TD's)
我在拆分 table 和 jQuery 时遇到了一些问题。
这是table:
<table width="100%" id="submenu">
<tr>
<td class="submenu">A</td>
<td class="submenu">B</td>
<td class="submenu">C</td>
<td class="submenu">D</td>
<td class="submenu">E</td>
<td class="submenu">F</td>
<td class="submenu">G</td>
<td class="submenu">H</td>
</tr>
</table>
我想在调用一个函数后让它看起来像这样:
<table width="100%" id="submenu">
<tr>
<td class="submenu">A</td>
<td class="submenu">B</td>
<td class="submenu">C</td>
<td class="submenu">D</td>
</tr>
<tr>
<td class="submenu">E</td>
<td class="submenu">F</td>
<td class="submenu">G</td>
<td class="submenu">H</td>
</tr>
</table>
我试过:
$(function(){
$('.submenu td:eq(3)').after('</tr><tr>');
});
<script>
$(".submenu td:nth-child(4)" ).after( "</tr><tr>" );
</script>
这会起作用。
试试这个片段:
$(function(){
// # Add a new row after the first one in the table
$('table#submenu tr:first').after('<tr></tr>');
// # Move the four last TDs to this new row
$('table#submenu tr:first td.submenu:gt(3)') // Select the four last TDs
.detach() // Detach them from their current row
.appendTo('table#submenu tr:nth-child(2)'); // Add them at the end of the new row
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<table width="100%" id="submenu" border="1">
<tr>
<td class="submenu">A</td>
<td class="submenu">B</td>
<td class="submenu">C</td>
<td class="submenu">D</td>
<td class="submenu">E</td>
<td class="submenu">F</td>
<td class="submenu">G</td>
<td class="submenu">H</td>
</tr>
</table>
这段代码解决了你的问题。
$(document).ready(function(){
$("table tr td:nth-child(5n)").addClass('break');
var boundary = $("td.break");
$("<tr>").insertAfter(boundary.parent()).append(boundary.nextAll().andSelf());
});
我在拆分 table 和 jQuery 时遇到了一些问题。
这是table:
<table width="100%" id="submenu">
<tr>
<td class="submenu">A</td>
<td class="submenu">B</td>
<td class="submenu">C</td>
<td class="submenu">D</td>
<td class="submenu">E</td>
<td class="submenu">F</td>
<td class="submenu">G</td>
<td class="submenu">H</td>
</tr>
</table>
我想在调用一个函数后让它看起来像这样:
<table width="100%" id="submenu">
<tr>
<td class="submenu">A</td>
<td class="submenu">B</td>
<td class="submenu">C</td>
<td class="submenu">D</td>
</tr>
<tr>
<td class="submenu">E</td>
<td class="submenu">F</td>
<td class="submenu">G</td>
<td class="submenu">H</td>
</tr>
</table>
我试过:
$(function(){
$('.submenu td:eq(3)').after('</tr><tr>');
});
<script>
$(".submenu td:nth-child(4)" ).after( "</tr><tr>" );
</script>
这会起作用。
试试这个片段:
$(function(){
// # Add a new row after the first one in the table
$('table#submenu tr:first').after('<tr></tr>');
// # Move the four last TDs to this new row
$('table#submenu tr:first td.submenu:gt(3)') // Select the four last TDs
.detach() // Detach them from their current row
.appendTo('table#submenu tr:nth-child(2)'); // Add them at the end of the new row
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<table width="100%" id="submenu" border="1">
<tr>
<td class="submenu">A</td>
<td class="submenu">B</td>
<td class="submenu">C</td>
<td class="submenu">D</td>
<td class="submenu">E</td>
<td class="submenu">F</td>
<td class="submenu">G</td>
<td class="submenu">H</td>
</tr>
</table>
这段代码解决了你的问题。
$(document).ready(function(){
$("table tr td:nth-child(5n)").addClass('break');
var boundary = $("td.break");
$("<tr>").insertAfter(boundary.parent()).append(boundary.nextAll().andSelf());
});