Вы можете попытаться захватить cssText
и className
.
var css1 = table.rows[1].style.cssText;
var css2 = table.rows[2].style.cssText;
var class1 = table.rows[1].className;
var class2 = table.rows[2].className;
// sort
// loop
if (i%2==0) {
table.rows[i].style.cssText = css1;
table.rows[i].className = class1;
} else {
table.rows[i].style.cssText = css2;
table.rows[i].className = class2;
}
Не совсем конечно о совместимости браузера с cssText
, все же.
Вы можете установить атрибут стиля любого элемента... уловка - то, что в IE Вы должны сделать это по-другому. ( ошибка 245 )
//Standards base browsers
elem.setAttribute('style', styleString);
//Non Standards based IE browser
elem.style.setAttribute('cssText', styleString);
Примечание, что в IE8, в Способе Стандартов, первый путь действительно работает.
Для меня это работает:
function transferAllStyles(elemFrom, elemTo)
{
var prop;
for (prop in elemFrom.style)
if (typeof prop == "string")
try { elemTo.style[prop] = elemFrom.style[prop]; }
catch (ex) { /* don't care */ }
}
Я хотел бы отметить, что обычно предпочтительно измениться класс узла вместо, он - стиль, и позвольте CSS обработать то, что это означает.
Элемент ЮРИДИЧЕСКОГО АДРЕСА стиль «собственность» является набором только для чтения всех атрибутов стиля, определенных на элементе. (Собственность набора только для чтения, не обязательно товары в рамках набора.)
Вы были бы более обеспеченным использованием названия класса «собственность» на элементах.
Не устанавливайте сам объект стиля, устанавливайте собственность цвета фона объекта стиля, который является собственностью элемента.
И да, даже при том, что Вы сказали «нет», jQuery и , tablesorter с его плагином полосы зебры может сделать это все для Вас в 3 строках кода.
И просто установление признака класса было бы лучше с тех пор, Вы трудно не закодировали контроль над моделированием, которое более организовано
Если Вы просто хотите изменить цвет ряда, Вы могли бы просто получить доступ к style.backgroundColor собственности и установить ее.
Здесь быстрая связь к собственности CSS к преобразованию JS.