Если исходный цвет фона указан с помощью таблицы стилей или (как в вашем случае) устаревшего атрибута bgcolor
, тогда вы можете просто очистить стиль элемента, когда закончите, и он вернется:
function ChangeColor(tableRow, highLight)
{
if (highLight)
{
tableRow.style.backgroundColor = '#dcfac9';
}
else
{
tableRow.style.backgroundColor = '';
}
}
Тем не менее, вам, вероятно, будет лучше использовать класс CSS и соответствующие правила для представления выделенного состояния строки и добавления / удаления этого, как вам нравится:
tr { backgroundColor: <whatever> }
tr.highlighted { backgroundColor: #dcfac9 }
Тогда ваш Javascript становится
function ChangeColor(tableRow, highLight) {
if(highLight)
{
tableRow.className = 'highlighted';
}
else
{
tableRow.className = '';
}
}
В дополнение к исключению определенных стилей из сценария и разметки (когда их становится сложно поддерживать с течением времени), это позволяет добавлять или изменять стили при наведении (например, полужирный текст или рамку) без добавления сложности к коду.
Если у вас есть доступ к библиотеке Javascript, такой как Prototype , Ext.js или Dojo , тогда вы можете использовать вместо этого их функции управления классами, которые будет обрабатывать случай, когда вы хотите сохранить существующее className или используете несколько классов для одного элемента.