поменять цвет у нескольких строк в таблице
Необходимо написать функцию которая бы выделяла несколько определенных строк в таблице. То есть таблица, в ней во всех
<tr id="num1">свои id, при этом в нескольких строках может быть одинаковый id. Нужна функция sel(id), которая бы меняла цвет фона строк на определенный другой, а при повторном вызове меняла цвет фона обратно, причем на тот цвет, который был до первой смены... function sel(id){ var table=document.getElementById('table1').childNodes; for(var i=0; i<table.length; i++) { var str = table[i] if (str.id == id) { str.className = 'actstr' } } }; данный код не работает... Может быть есть какое-то другое решение? |
Цитата:
|
Цитата:
|
Root, для группировки строк по определенному признаку, не обязательно использовать атрибут id, вполне подойдет любой другой (напрмер, blabla="true"). Дальше,
- берешь таблицу по id - получаешь коллекцию строк (свойство rows - var rows = document.getElementById('table1').rows;, а не childNodes) - проходишься циклом по этому массиву, анализируешься наличие своего атрибута blabla (if rows[k].getAttribute('blabla') == true { ... }) и подменяешь className; P.S.: надо сказать, XPath'ом это решалось бы, наверно, быстрей - можно сразу получить все строки таблицы с заданым атрибутом (но пройтись циклом (для смены className'a) все равно потом пришлось бы - но зато кол-во итераций было бы меньше и проверки условия в цикле бы не было), но XPath пока не кроссбраузерен. |
Огромное спасибо за исчерпывающий ответ!!!!
|
Часовой пояс GMT +3, время: 07:52. |