0

我需要将列附加到特定位置的 HTML 表中。本主题讨论这样做- 非常方便!我的问题是columnCount()下面显示的函数没有针对特定表的能力。它计算 HTML 中存在的所有 TD,这些 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;
}

我有两个 JS 小提琴。

  • 一种功能,因为只有一张桌子。
  • 第二个不起作用,因为存在两个表。

    第二个小提琴返回无效colCount值,无法将列放在目标表中。我对选择器仍然太陌生,无法在上下文中应用正确的选择器......我正在慢慢学习这种语言。

编辑: 链接到具有更正代码的 JSFiddle。我希望这可以帮助其他正在努力使用选择器语法的人!

4

1 回答 1

1

以表ID为参数:

function countColumn(tableID) {
   var colCount = 0;
   $('#' + tableID + ' tr:nth-child(1) td').each(function () {
       if ($(this).attr('colspan')) {
           colCount += +$(this).attr('colspan');
       } else {
           colCount++;
       }
   });
   return colCount;
}

您还可以定义一个对选择器进行操作的 jQuery 方法:

$.fn.colCount = function() {
   var colCount = 0;
   $('tr:nth-child(1) td', this).each(function () {
       if ($(this).attr('colspan')) {
           colCount += +$(this).attr('colspan');
       } else {
           colCount++;
       }
   });
   return colCount;
};

然后你可以做var count = $("#someTable").colCount();

于 2013-06-09T15:11:09.990 回答