Javascript 为给定表行中的每个单元格设置CSS类的有效方法是什么?

Javascript 为给定表行中的每个单元格设置CSS类的有效方法是什么?,javascript,css,no-framework,Javascript,Css,No Framework,我在为给定表行中的每个单元格设置CSS类时遇到问题。最初我认为设置父行CSS会影响单元格的样式属性, 但这不起作用。相反,我必须遍历给定行中的所有单元格来更新CSS类 然而,这是没有效率的。这花了很多时间。考虑我的情况:我有大约230行,其中每行有23个单元(总共5290个单元)。 注意:我不使用任何框架。那么,你能推荐一种使用原生JS的方法吗 更新: 按照保罗的建议,它可以正常工作 最初我的自定义css类是这样的 .Grid_RowItalicsBold { PADDING-RIGHT: 5p

我在为给定表行中的每个单元格设置CSS类时遇到问题。最初我认为设置父行CSS会影响单元格的样式属性, 但这不起作用。相反,我必须遍历给定行中的所有单元格来更新CSS类

然而,这是没有效率的。这花了很多时间。考虑我的情况:我有大约230行,其中每行有23个单元(总共5290个单元)。 注意:我不使用任何框架。那么,你能推荐一种使用原生JS的方法吗

更新:

按照保罗的建议,它可以正常工作

最初我的自定义css类是这样的

.Grid_RowItalicsBold { PADDING-RIGHT: 5px; PADDING-LEFT: 8px; FONT-WEIGHT: bold; FONT-SIZE: 8pt; OVERFLOW: hidden; COLOR: Black; LINE-HEIGHT: 15pt; FONT-STYLE: normal; FONT-FAMILY: Verdana, Arial, Sans-Serif; WHITE-SPACE: nowrap; BACKGROUND-COLOR: yellow; TEXT-DECORATION: none }
我把这个改成了

tr.Grid_RowItalicsBold td{ PADDING-RIGHT: 5px; PADDING-LEFT: 8px; FONT-WEIGHT: bold; FONT-SIZE: 8pt; OVERFLOW: hidden; COLOR: Black; LINE-HEIGHT: 15pt; FONT-STYLE: normal; FONT-FAMILY: Verdana, Arial, Sans-Serif; WHITE-SPACE: nowrap; BACKGROUND-COLOR: yellow; TEXT-DECORATION: none }

我使用javascript将这个类指定给我的特定行。:)

为什么不能设置行的类并相应地调整css

<tr class="myclass">
   <td>...</td>
   <td>...</td>
</tr>
在这两种情况下,假设表的id为“mytable”,则可以为所有表行提供所需的类,如下所示:

var rows = document.getElementById('mytable').getElementsByTagName('tr');
for(var x = 0; x < rows.length; x++) {
    rows[x].className = rows[x].className + " myclass";
}

@kris,单元格中使用的类对于整个单元格都是通用的。。我只需要更新选定的行。。所以我不能只是更新

看起来你仍然应该使用CSS选择器来做你想做的事情。也许是这样的:

#mytable td { // regular td style } #mytable .special td { // special cell style } #mytable td{ //常规td风格 } #我的桌子,特别的{ //特殊单元样式 }

资料
资料
资料
资料
起初,我想设置家长 行CSS会影响样式 细胞的属性,但那不是 工作


我认为,如果将单元格的某些属性设置为“继承”,它们将从表行继承这些属性。您试过了吗?

根据您实际要完成的任务,只给行一个类,然后在样式表中使用tr.rowclass引用单元格可能会更容易td@kris,单元格中使用的类对于整个单元格是通用的。。我只需要更新选定的行。。所以我不能只是更新…我不确定我是否理解问题是什么。你不能做什么,我的答案没有涵盖?我正要提交一个非常类似的答案。这是给你的一票。:-)@保罗,我忘了提那件事。。ID是自动生成的。。我无法控制那件事。。(它实际上是一个内部网格组件)很抱歉误解,您的方法很好。。。我已经更新了我的问题…:)
table.myclass tr td {
    ...
}
#mytable td { // regular td style } #mytable .special td { // special cell style }
<table id="mytable">
  <tbody>
    <tr>
      <td>Data</td>
      <td>Data</td>
    </tr>
    <tr class="special">
      <td>Data</td>
      <td>Data</td>
    </tr>
  </tbody>
</table>