2015-03-27 3 views
0


У меня возникла проблема с настройками стилей для элемента из объекта. В первой функции я разбираю строку со стилем.
Установить стиль элемента из объекта

parseCheckingStyle: function(properties) { 
    var propertiesList = {}, 
    tempArr=properties.split(/\s*;\s*/, this.length); 
    tempArr.forEach(function(element, value, array){ 
     var splittedTempArr = element.split(/\s*:\s*/); 
     propertiesList[splittedTempArr[0]] = splittedTempArr[1]; 
    }); 
    return propertiesList; 
}; 

Например

parse('background: #ccc; color: #fff;') 

возвращение

{background: "#ccc", color: "#000"} 

Затем с помощью этой функции я пытаюсь установить этот объект, как стиль элемента:

setCheckingStyle: function(selector, properties) { 
    var propertiesList = this.parseCheckingStyle(properties); 
    for (var key in propertiesList){ 
     selector.style.key = propertiesList[key]; 

    } 
}; 

Но стиль не устанавливает нг. Как я могу решить эту проблему?

P.S. Мне нужна реализация без jQuery

ответ

2

Это должно быть selector.style[key] вместо selector.style.key. Когда вы используете ., имя свойства используется буквально, а не как переменная; вы должны использовать [], чтобы оценить его как переменную.

Вы, очевидно, знаете это уже, так как вы написали propertiesList[key] вместо propertiesList.key.

Смежные вопросы