Представим себе некую таблицу безумных размеров. Скажем, с информацией о наличии товаров на складе. То есть имеется заранее заданный набор значений (например, есть, нет и возможно), в каждой ячейке может находиться одно из этих значений, и при этом есть должно быть написано зелёным цветом, нет — красным, а возможно — жёлтым. А, возможно, и каким-то другим.

В принципе, степень безумности этой таблицы особой роли не играет, это может быть даже одна единственная ячейка. Суть в том, что мы не знаем заранее, какое именно значение пользователь поместит в ячейку, поэтому не можем заранее прописать цвет шрифта color: red или color: green. Тем более что сегодня в ячейке может быть одно значение, а завтра уже другое. При этом пользователь не должен залезать в исходники сайта и каждый раз менять стили вручную. Он вообще не должен об этом думать.

Таким образом, вопрос сводится к тому, чтобы текст автоматически окрашивался в соответствующий цвет в зависимости от того, какое значение стоит в ячейке в данный момент.

Прежде всего, в пределах <head></head> вставляем:

<script type="text/javascript"
src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>

Далее прописываем class для ячейки:

<td class="colorize">...</td>

И ниже вставляем вот этот прекрасный скриптик, который и будет управлять всеми изменениями:

<script type="text/javascript">$(document).ready(function() {
$('.colorize:contains("есть")').css('color', 'green');
$('.colorize:contains("нет")').css('color', 'red');
$('.colorize:contains("возможно")').css('color', 'yellow');
});</script>
http://stackoverflow.com/questions/7986581/jquery-change-table-cell-text-color-based-on-text

Поделитесь этой страницей