Also das, was Du da geschrieben hast, ist nach HTML-Standard verboten, weil zwischen dem <table>tag nur die <tr> kommen dürfen!
Wahrscheinlich willst Du gleich eine ganze Menge von Zeilen verstecken und bist zu faul ;-) das einzeln zu machen.
Eine Idee wäre unter dem Table-tag einen Tag zu setzen, der als display:table-row-group angezeigt wird. Dann kannst Du im style-Teil sowas schreiben wie
tablerow { display:table-row-group; }
tablerow tr { display:none; }
und im HTML-Teil
<table>
<tablerow>
<tr>
...
</tr>
</tablerow>
</table>
Dein Zeug ist genauso unsinnig, denn es gibt kein tablerow Element im HTML-Standard.
Warum nicht die offizielle HTML-Lösung benutzen?
table hat als content-Model:
(CAPTION?, (COL*|COLGROUP*), THEAD?, TFOOT?, TBODY+)
Interessant ist hier der Teil TBODY+, es darf mehr als einen TBODY geben.
TBODY ist wie folgt definiert:
<!ELEMENT TBODY O O (TR)+ -- table body -->
Es darf also 1 oder mehrere TR enthalten.
Normalerweise wird TBODY weggelassen, da ja sowohl Anfangs- als auch End-Tag optional sind.
Wenn man aber Zeilengruppen braucht wie in diesem Fall, bietet es sich an, das auch zu verwenden.
Andreas