поменять цвет у нескольких строк в таблице
Необходимо написать функцию которая бы выделяла несколько определенных строк в таблице. То есть таблица, в ней во всех
<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, время: 11:57. |