Это меньше:
@color1: #123456;
@color2: @color1 + #111111;
.title { color: @color1; }
.text { color: @color2; }
компилируется в этот CSS, и это все, что знает браузер:
.title { color: #123456; }
.text { color: #234567; }
Итак, теперь вы фактически говорите, что хотите динамически изменить это на:
.title { color: #ff0000; }
Вы можете сделать это, войдя в существующую таблицу стилей с помощью JS и изменив правило для .title
. Или вы можете определить альтернативное правило в исходном CSS:
.alternate.title { color: #ff0000; }
И, найдите все объекты с .title и добавьте .alternate к ним. В jQuery это будет так просто:
$(".title").addClass(".alternate");
В простом JS вам необходимо использовать прокладку для предоставления getElementsByClassName кросс-браузерным способом, а затем использовать:
var list = document.getElementsByClassName("title");
for (var i = 0, len = list.length; i < len; i++) {
list[i].className += " alternate";
}