Good day.

Task: you need to render the rows of all tables on the page using javascript. Even of one color, not even of another.

Question: Is there any script for this task?

P / S: Preferably jquery.

    1 answer 1

    (function ($) { $.fn.tableRowStyle = function(options){ var options = $.extend({ classEven: 'tr-even', //класс для не четных строк, можно задать любой classOdd: 'tr-odd', //класс для четных строк, можно задать любой classHeader: 'thead', //класс для заголовков, можно задать любой classHover: 'tr-hover', //класс для подсветки принаведении, можно задать любой classSelected: 'selected', //класс для выбранной строки, можно задать любой multiSelected: 'true' //'false' означает возможность выделить только одну строку //'true' означает возможность выделить любые строки //'none' отключить возможность выделения строки },options); return this.each(function() { var current = $(this); current.find('tr:has("td")').hover( //выбираем из всех элементов td, которые имеют внутри td (обычные ячейки) function (){ $(this).addClass(options.classHover); }, function () { $(this).removeClass(options.classHover); }//навешиваем событие hover, первая функция при наведении курсора, вторая возвращает внешний вид при уходе курсора ).click(function(){ var row = $(this); if(options.multiSelected=='false'){// проверяем какой параметр задан if(row.parent().find('tr').hasClass(options.classSelected)){row.removeClass(options.classSelected)} else{row.addClass(options.classSelected)} //манипуляции для выделения только одной строки } else if(options.multiSelected=='true'){ if(row.hasClass(options.classSelected)){row.removeClass(options.classSelected)} else{row.addClass(options.classSelected)} //манипуляции для выделения всех строк } else {return false} // возвращаем false, если не хотим вообще ничего выделять на клик }); //Назначаем классы сперва четным строкам, затем не четным, а потом выделяем все заголовки current.find('tr:even').addClass(options.classEven); current.find('tr:odd').addClass(options.classOdd); current.find('tr:has("th")').removeClass(options.classEven).addClass(options.classHeader }); }; })(jQuery) 
    • I did not check on the go, but I take your idea. Thank you, plus you and the right answer!) - org