Как установить класс столбца только для строк данных с HTML :: Table? - PullRequest
0 голосов
/ 24 марта 2011

Терр!

HTML::Table обладает довольно хорошей гибкостью для формирования HTML-таблиц из структур данных perl, но я не нашел подходящего способа, чтобы th -метки отличались от обычных ячеек (td) в той же колонке. Или позвольте мне перефразировать: если я устанавливаю класс столбца, я хотел бы установить его только для строк данных, а не для строки заголовка.

use strict;
use warnings;
use HTML::Table;

my $table = new HTML::Table(
                -head=> ['one', 'two', 'eleven'],
                -data=> [ ['yki', 'kaki', 'kommi'], 
                        ['yy', 'kaa', 'koo'] ] 
);

$table->setColClass(1, 'class');
$table->setSectionColClass('tbody', 0, 2, 'class2');
print $table;

И вывод:

<table>
<tbody>
<tr><th class="class">one</th><th class="class2">two</th><th>eleven</th></tr>
<tr><td class="class">yki</td><td class="class2">kaki</td><td>kommi</td></tr>
<tr><td class="class">yy</td><td class="class2">kaa</td><td>koo</td></tr>
</tbody>
</table>

Вывод, который я ищу:

<table>
<tbody>
<tr><th>one</th><th>two</th><th>eleven</th></tr>
<tr><td class="class">yki</td><td class="class2">kaki</td><td>kommi</td></tr>
<tr><td class="class">yy</td><td class="class2">kaa</td><td>koo</td></tr>
</tbody>
</table>

Существуют методы уровня раздела, но th также относится к tbody. Таблицы могут быть довольно сложными, поэтому я бы хотел избежать итерации по строке заголовка и надеяться найти достойный способ. Есть ли?

1 Ответ

0 голосов
/ 24 марта 2011

Может быть, просто немного подправить свой CSS.Предположительно у вас есть что-то вроде этого в вашей таблице стилей:

.class { /* Some pretty stuff */ }

Так что просто измените селектор, чтобы настроить стиль заголовка и ячеек тела:

td.class { /* The styles you want applied to body cells go here. */ }
th.class { /* And the styles for header cells (if any) go here.  */ }

Если вы не хотителюбой стиль, примененный к ячейкам заголовка, затем включает бит td.class { } в таблицу стилей и пропускает th.class { };нет ничего плохого в том, чтобы класс CSS был присоединен к элементу, который не соответствует ничему в ваших таблицах стилей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...