如何使用CSS或jQuery设置不同的表宽度?

如何使用CSS或jQuery设置不同的表宽度?,jquery,css,Jquery,Css,我们的用户正在使用一个工具来创建HTML内容,我不能控制它生成的HTML,但我可以控制它背后的CSS,我还设法插入了jQuery 我们的设计准则是,无论何时创建具有两列的表,第一列的宽度应为300px,第二列的宽度应为380px 当他们创建一个表格时,他们可以从工具中选择设置每个表格单元格的宽度,但是为了给他们保存这个,我想在HTML中自动应用这个选项 有没有一种方法可以使用CSS规则设置td1和td2的表格宽度?我知道在CSS中,我可以做如下事情: td { width: 300px; }

我们的用户正在使用一个工具来创建HTML内容,我不能控制它生成的HTML,但我可以控制它背后的CSS,我还设法插入了jQuery

我们的设计准则是,无论何时创建具有两列的表,第一列的宽度应为300px,第二列的宽度应为380px

当他们创建一个表格时,他们可以从工具中选择设置每个表格单元格的宽度,但是为了给他们保存这个,我想在HTML中自动应用这个选项

有没有一种方法可以使用CSS规则设置td1和td2的表格宽度?我知道在CSS中,我可以做如下事情:

td
{
width: 300px;
}
但这将适用于所有TDs

如果使用CSS无法做到这一点,我还插入了jquery,如果无法使用CSS,我很乐意使用它

编辑: 我需要这个解决方案来处理IE8及以上的旧浏览器,但我们的大多数用户仍然使用它。

使用

也读

更新

您可以使用支持IE css3选择器的JS

由于IE8支持
第一个子项
,您可以在
IE8

/*table tr td:nth-child(2)*/
    table tr td:first-child+ td { width: 300px; }/*Works for IE8*/
使用

也读

更新

您可以使用支持IE css3选择器的JS

由于IE8支持
第一个子项
,您可以在
IE8

/*table tr td:nth-child(2)*/
    table tr td:first-child+ td { width: 300px; }/*Works for IE8*/

您可以在CSS和JQuery中实现这一点

在CSS中,您只需使用伪类选择器


您可以在CSS和JQuery中实现这一点

在CSS中,您只需使用伪类选择器


ie8不支持第n个子项来解决它,您可以这样做

table tr td:first-child + td +td { //gets 3rd td
    width:300px;
}

ie8不支持第n个子项来解决它。您可以这样做

table tr td:first-child + td +td { //gets 3rd td
    width:300px;
}

这是否适用于IE8?第二个孩子怎么办?第n个孩子(n)似乎不与IE8一起工作,但第一个孩子是CSS2,与IE8一起工作。第n个孩子是CSS3,而不是。看,这对IE8有用吗?第二个孩子怎么办?第n个孩子(n)似乎不与IE8一起工作,但第一个孩子是CSS2,与IE8一起工作。第n个孩子是CSS3,而不是。看,谢谢Anton,但是它似乎只适用于页面上的第一个表,而我只有很少的表。知道为什么吗?只有第一个表,奇怪的似乎在这里与多个表一起工作@Joly可能是工具生成html的方式,我会继续挖掘它创建的代码,thanksI注意到表是在元素下创建的,这会有什么不同吗?@Joly不,它不应该只是测试出来,谢谢Anton,但是它似乎只应用于页面上的第一个表,我得到的很少。知道为什么吗?只有第一个表,奇怪的似乎在这里与多个表一起工作@Joly可能是工具生成html的方式,我会继续挖掘它创建的代码,thanksI注意到这些表是在元素下创建的,这会有什么不同吗?@Joly不,它不应该只是测试它