Javascript 使用jquery设置表列样式

Javascript 使用jquery设置表列样式,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我在我的网站上有一个表,我正在尝试用jquery来设置它的样式。我使用的代码可以很好地处理普通表,但如果在一列中合并两个单元格,则会破坏样式。我想要一列是彩色的,一列是空白的 jquery代码 $( document ).ready(function() { $('#tab-table').find("table").addClass('s-table'); $(".s-table tr td:nth-child(2n+1)").css("background-color

我在我的网站上有一个表,我正在尝试用jquery来设置它的样式。我使用的代码可以很好地处理普通表,但如果在一列中合并两个单元格,则会破坏样式。我想要一列是彩色的,一列是空白的

jquery代码

    $( document ).ready(function() {
    $('#tab-table').find("table").addClass('s-table');
    $(".s-table tr td:nth-child(2n+1)").css("background-color","#d1deec");
});

如果合并的单元格始终保持不变,我会使用循环

参见小提琴:

更新

使用数组:

$("table tr:not(:first)").each(function () {
 var arr = [];
 var $this = $(this);
 if ($(this).find('td').length == 7) {
     arr.push(2, 4, 6);
 } else {
     arr.push(3, 5, 7);
 }
 $.each(arr, function (ind, val) {
     $this.find('td:nth-child(' + val + ')').css("background-color", "#d1deec");
 });
});

如果使用适当的标记,CSS可以帮助您绘制柱状图背景色:


然后基本上应用:

col{background:#789url(image.png);}

col中的背景和单元格中的rgba颜色的混合可以提供:

否则,如果您没有标记方面的经验,请使用技巧并从标题单元格中进行标记。 您可以使用一些技巧来处理标题单元格中的
框影
伪元素
,以及
表中的
溢出
伪元素
技术


box shadow
技术:

为什么要用jQuery而不是CSS来设计样式?因为我在使用CMS,而且网站上有很多表要用CSS来设计样式,所以我需要使用很多我不想要的类,所以我正在尝试使其动态化,所以如果添加了新表,它会自动采用样式。我希望它能使我的网站更具吸引力N是的,但是你可以在CSS中做到这一点?你能提供一个简短的例子吗?@JFit请看我的CSS答案:)如果你使用colgroup/col标记,基本CSS也很容易工作:)@UmarKhan没问题-如果列和分组发生变化,你就需要重新访问此代码。嗨,你能用小提琴来演示一下吗?对此非常感兴趣。是的,我应该从哪一个开始?只是最基本的,我理解您需要更改标记,但可能会将其放入我们在上面操作的小提琴中。。不带类的do col:n子级(偶数){background:#d1deec}
$("table tr:not(:first)").each(function () {
 var arr = [];
 var $this = $(this);
 if ($(this).find('td').length == 7) {
     arr.push(2, 4, 6);
 } else {
     arr.push(3, 5, 7);
 }
 $.each(arr, function (ind, val) {
     $this.find('td:nth-child(' + val + ')').css("background-color", "#d1deec");
 });
});
<colgroup>
<col/>
<col/>
</colgroup>