Ну как то странно. Гхм.
А почему такие пляски с бубном? Потом если придется править стили, придется ходить и исправлять .js файлы.
Можно же сделать так?
Первое: создаем в каскадной таблице 2-3 нужных класса:
Код:
p.body{
font-size: 16px;
}
p.body1{
font-size: 18px;
}
p.body2{
font-size: 20px;
}
Вы просто резервируете нужные классы, а потом меняете для элемента. В этих классах вводите только изменяемые свойства.
После чего пишем нужный js:
А потом уже играемся со свойствами:
Код:
var pObj = document.createElement('p');
var newClassName = document.createAttribute("className");
newAttr.nodeValue = "body1";
pObj.setAttributeNode(newClassName);
var newID = document.createAttribute("id");
newID.nodeValue = "newID";
pObj.setAttributeNode(newID);
document.appendChild(pObj);
Ну и дальше в контексте по смыслу:
//если что-то происходит, то
pOb.className = "body2";
//или
pOb.className = "body";
//или...
А если нужно сменить динамически какую-то одну величину вне классов в зависимости от действия посетителя, тогда:
Код:
var pObj = document.getElementById("newID");
if(pObj){
pObj.style.fontSize = "14px";
}
В чем преимущества?
1. Меняем все стили в одном месте.
2. Не замарачиваемся с кроссбраузерным внедрением каскадных таблиц в тело документа (нафига этот велосипед?), а если Вам потом перекрыть правило, поменять правило? Или везде будете лепить !important?
3. Имеем упрощенный код в случае постоянной динамической смены свойств посетителями. Например, через селекты с выбором font-size. А теперь представьте, если вы будете каждый раз лепить объект стиля в js? Это ж сколько, извините, места то займет?