说,我有以下 CSS 类:
.upComing{ background:#ccc; font-weight:bold; }
在我的 HTML 中,我有一个表格,其中一些行应用了该类,如下所示:
<table>
<tr> <td></td> <td></td> </tr>
<tr> <td></td> <td></td> </tr>
<tr class='upComing'> <td></td> <td></td> </tr>
<tr> <td></td> <td></td> </tr>
<tr class='upComing'> <td></td> <td></td> </tr>
</table>
到目前为止,一切都很好,但是通过 JavaScript,我有监听 td 点击的事件,我想获取行的颜色(我知道我可以获取行的类,但在这种情况下,我需要能够获取类的颜色)。
我需要这样做,因为可以将表格导出到 excel 文件,并且如果它们在 CSS 类上,行颜色不会应用于 excel 文件,我想在发送 html 之前将此颜色应用于每个 td到excel生成器。
PS:该表是从我们创建的 jQuery 插件动态生成的,它仍在进行中,但是当我们对它有足够的信心时,我们会向公众发布它。
--更新-- 这是关于这个主题的更新,确实有一个纯 javascript 解决方案,我不得不潜入 jQuery 的源代码来检查这一点。这是解决方案:
1)指向所需的元素
var tr = $("tr.upComing").first()[0];
2) 获取元素的 COMPUTED STYLE
var css = window.getComputedStyle( tr );
3) 获取 COMPUTED STYLE 的 PROPERTY VALUE
var color = css.getPropertyValue( "background-color" );
到目前为止,我只在 Mac 上的 FF、Safari、Chromium 和 Opera 中进行了测试,如果有人可以在 IE 上尝试这个并给我们反馈,那就太好了。