2016-05-22 3 views
0

Я вышел из своей глубины с помощью сценария greasemonkey. Я имею дело с html-таблицей, где второй столбец содержит данные месяца, например. «Апрель» или «Май». Вот упрощенная версия HTML я имею дело с:Использование Greasemonkey для изменения формата ячейки таблицы html на основе ее содержимого

<html> 
    <body> 
     <form> 
      <table class="gridtable"> 
       <tbody> 
        <tr class="header"></tr> 
        <tr> 
         <td>blah</td> 
         <td>April</td> 
         <td>blah</td> 
        </tr> 
        <tr> 
         <td>blah</td> 
         <td>May</td> 
         <td>blah</td> 
        </tr> 
       </tbody> 
      </table> 
     </form> 
    </body> 
</html> 

Для всех строк, где второй столбец/TD содержит «May», я хочу использовать Greasemonkey, чтобы изменить форматирование этой ячейки, например, для жирного красного текста, с желтым фоном. Вот код, который я до сих пор, но это не оказывает влияния, и я не уверен, что это хорошая отправная точка (я включен только цвет фона на данный момент, ходить, прежде чем бежать):

var thetds = document.getElementsByTagName('td'); 
for (var j = 0; j < thetds.length; j++) { 
if (thetds[j].innerHTML == "May") 
    thetds[j].style.backgroundColor = rgb(250, 220, 0); 
} 

Эффективно я хочу тд отвернуться от:

<td>May</td> 

к:

<td style="background-color: rgb(250, 220, 0); color: rgb(255, 0, 0); font-weight: bold;">May</td> 

Любой совет высоко оценили! Спасибо. PS Я нашел this аналогичный вопрос, но я не могу его сгибать в своей ситуации, это совсем другое.

ответ

1

rgb(250, 220, 0) должен быть "rgb(250, 220, 0)"

thetds[j].style.backgroundColor = "rgb(250, 220, 0)"; 

example

+0

Ах спасибо за исправление, и для демонстрации, рад видеть, что я был ближе, чем я думал, но ... это еще не работая через Greasemonkey ... Бит потерян. – David

+0

@ Давид, который я тестировал, и он работает. Вот пример сценария greasemonkey http://pastebin.com/7bvvYwXJ. установите его и зайдите на эту страницу https://fiddle.jshell.net/wsqq7wfz/3/show/light/ –

+0

Возможно, на странице OP не работает несколько причин: (1) AJAX, (2) пробел ('.innerHTML == 'почти всегда хрупкий на реальных страницах), (3) Поиск таблицы в ячейках OP может потенциально давать ложные срабатывания - после сортировки других проблем (Не проверять структуру). –