如何计算表格第一行中的列数,减1,然后在该位置插入一列到我的表中?我希望该列的第一行与其余列不同。
Here is a basic fiddle that inserts columns into a table at a fixed location.
This topic discusses inserting new columns.问题是它使用从左侧开始固定的位置来插入列。它也不会改变顶部列。
以下是我从该帖子改编的示例代码:
$(document).ready(function(){
$('#AddOT').click(function(){
$('#Table1').find('tr').each(function(){
$(this).find('td').eq(0).after('<td>cell 1a</td>');
});
});
});
This topic discusses determining the number of columns in "tables".示例似乎不起作用,因为在HTML中放置多个表会产生问题:
$(function() {
var colCount = 0;
$('tr:nth-child(1) td').each(function () {
if ($(this).attr('colspan')) {
colCount += +$(this).attr('colspan');
} else {
colCount++;
}
});
});
有一个jsfiddle来计算列数。
编辑:问题已解决,我能够a revised fiddle that places different content into different rows according to the row index value.
这将非常有用,因为我在不同的行上有不同类别的文本输入框,我根据类对它们求和。我现在可以动态地向所有行添加新列,但仍然在每行中保留唯一的单元类。真棒!
答案 0 :(得分:1)
我不确定我是否正确理解您的要求。看看demo
$(document).ready(function(){
$('#AddOT').click(function(){
var count = countColumn();
var insertedPosition = count-2;
$('#Table1').find('tr').each(function(index){
if (index == 0){
var colspan = $(this).attr('colspan') || "1";
$(this).attr('colspan',parseInt(colspan)+1);
}
else
{
$(this).find('td').eq(insertedPosition ).after('<td>cell 1a</td>');
}
});
});
});
function countColumn() {
var colCount = 0;
$('tr:nth-child(1) td').each(function () {
if ($(this).attr('colspan')) {
colCount += +$(this).attr('colspan');
} else {
colCount++;
}
});
return colCount;
}