Установите свойство стиля элемента HTML в JavaScript

32
задан mac 12 December 2011 в 08:01
поделиться

7 ответов

Вы можете попытаться захватить 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, все же.

40
ответ дан 27 November 2019 в 20:21
поделиться

Вы можете установить атрибут стиля любого элемента... уловка - то, что в IE Вы должны сделать это по-другому. ( ошибка 245 )

//Standards base browsers
elem.setAttribute('style', styleString);

//Non Standards based IE browser
elem.style.setAttribute('cssText', styleString);

Примечание, что в IE8, в Способе Стандартов, первый путь действительно работает.

23
ответ дан 27 November 2019 в 20:21
поделиться

Для меня это работает:

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 */ }
}
4
ответ дан 27 November 2019 в 20:21
поделиться

Я хотел бы отметить, что обычно предпочтительно измениться класс узла вместо, он - стиль, и позвольте CSS обработать то, что это означает.

2
ответ дан 27 November 2019 в 20:21
поделиться

Элемент ЮРИДИЧЕСКОГО АДРЕСА стиль «собственность» является набором только для чтения всех атрибутов стиля, определенных на элементе. (Собственность набора только для чтения, не обязательно товары в рамках набора.)

Вы были бы более обеспеченным использованием названия класса «собственность» на элементах.

2
ответ дан 27 November 2019 в 20:21
поделиться

Не устанавливайте сам объект стиля, устанавливайте собственность цвета фона объекта стиля, который является собственностью элемента.

И да, даже при том, что Вы сказали «нет», jQuery и , tablesorter с его плагином полосы зебры может сделать это все для Вас в 3 строках кода.

И просто установление признака класса было бы лучше с тех пор, Вы трудно не закодировали контроль над моделированием, которое более организовано

0
ответ дан 27 November 2019 в 20:21
поделиться

Если Вы просто хотите изменить цвет ряда, Вы могли бы просто получить доступ к style.backgroundColor собственности и установить ее.

Здесь быстрая связь к собственности CSS к преобразованию JS.

0
ответ дан 27 November 2019 в 20:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: