第一个TD的CSS选择器,包含colspan时除外

第一个TD的CSS选择器,包含colspan时除外,css,css-selectors,Css,Css Selectors,假设我有下表: <table style="width:500px"> <tr> <td>Col 1</td> <td>Col 2</td> </tr> <tr> <td colspan="2"></td> </tr> </table> 如果有一种方法,我可以修改我的选择器,让它说应用于第一个孩子,除非类名是x?为什么不

假设我有下表:

<table style="width:500px">
 <tr>
    <td>Col 1</td>
    <td>Col 2</td>
 </tr>
 <tr>
    <td colspan="2"></td>
 </tr>
</table>

如果有一种方法,我可以修改我的选择器,让它说
应用于第一个孩子,除非类名是x

为什么不给这个类相反的属性呢

table tr td:first-child{
    width:100px;
}

.your_class {
    width:auto !important;
}
试试这个:

table tr td:first-child:not(.ignore) {
  width:100px;
}

(如果你给td一个你想忽略的类“忽略”)

一个简单的方法是只向你实际想要选择的第一个td添加一个类:

<table style="width:500px">
 <tr>
    <td class='selectable'>Col 1</td>
    <td>Col 2</td>
 </tr>
 <tr>
    <td colspan="2"></td>
 </tr>
</table>
或者,您可以尝试jQuery,并在不希望受影响的行上放置一个类名“ignoreMe”:

$('table tr td:first-child').not('.ignoreMe').css({width:100});
使用
:不([attr=“val”])


我可以这样做,但我需要覆盖很多样式。我提供的示例只是为了简化,但实际上,我在第一列中有大约20种css样式。非常优雅的解决方案,但是:不仅在ie9+中受支持,谢谢!完美的解决方案。
table tr td.selectable {
    width: 100px;
}
$('table tr td:first-child').not('.ignoreMe').css({width:100});
table tr td:first-child:not([colspan="#NUMBER OF COLSPAN"]){

    width:100px;

}