Подтвердить что ты не робот

Установка целой строки стиля на элемент из javascript (не отдельные параметры стиля)

Мне нужно установить произвольный стиль в span через javascript.

Я знаю, что могу делать такие вещи, как: span.style.height = "250px"; Но мне нужно иметь возможность вставить случайное полное определение стиля из шаблона

например

float:left; 
text-decoration:underline; 
cursor:pointer; 
color:blue;

Есть ли способ сделать это в Javascript? Что-то вроде element.style = "все определение стиля здесь";

4b9b3361

Ответ 1

Как насчет свойства .style.cssText? Здесь объяснение корпорации Майкрософт.

Бросьте стили, которые вы хотите применить так:

document.getElementById('myEl').style.cssText = 'float:left;margin-top:75px;';

Что касается поддержки браузеров, хотя это было IE-проприетарным, я считаю, что он хорошо поддерживается (работает в IE, FF3 и Safari 3.2 WIN как минимум).

Ответ 2

Если вы хотите, чтобы он был легким, создайте функцию, например:

function setStyles(element, styles)
{
    for(var s in styles) {
        element.style[s] = styles[s];
    }
}

Затем вы передадите стили в виде литерала объекта:

setStyles(element, {float: "left",
                    textDecoration: "underline",
                    cursor: "pointer",
                    color: "blue"});

Обратите внимание, что ссылки на стиль, переданные в, должны следовать именованию с точки зрения JavaScript, поскольку функция просто изменяет стили, обращаясь к элементу style через JavaScript.

Если вы должны взять свой стиль ввода из строки, вы могли бы легко проанализировать его и создать литерал объекта.

Ответ 3

Существует element.setAttribute('style', '...');, но он не работает в IE.

Существует решение, но я не пробовал.