2015-03-03 172 views
1

的對象設置element.style有沒有辦法做這樣的事情:的與樣式屬性


    var my_element= document.createElement("div"); 
    my_element.style={ 
     position:"absolute", 
     background:"red", 
     ... 
    } 

代替:

my_element.style.position= "absolute"; 
my_element.style.background= "red"; 

或者

var my_properties={ 
     position:"absolute", 
     background:"red", 
     ... 
} 
for(var i in my_properties) 
    my_element.style[i]= my_properties[i]; 
+0

第2個選項應該工作 – Satpal 2015-03-03 08:02:52

+0

我知道了!其實,我在寫這個問題的時候想到了這個問題。我仍然要求在這種情況下存在更好的解決方案 – Gael 2015-03-03 08:04:45

回答

0

待辦事項它使用for...in

var my_element= document.createElement("div"); 
var elemStyle = my_element.style; 
var my_properties={ 
     position:"absolute", 
     background:"red", 
     ... 
} 
for(var prop in my_properties) { 
    elemStyle[prop] = my_properties[prop]; 
} 

或者你可以setAttribute爲風格。

var elemstyle = my_element.getAttribute("style"); 
my_element.setAttribute(
    "style", elemstyle+"font-size: 100px; font-style: italic; color:#ff0000;"); 
+0

對於第二種,它會覆蓋元素的現有樣式,但正如我剛剛創建的那樣,它對我很有用 – Gael 2015-03-03 08:06:58

+0

@Gael,yupe,請參閱更新後的答案。 – void 2015-03-03 08:10:46

+0

字體大小之前的分號會更安全。我嘗試編輯你的答案,但我只有一個修改... – Gael 2015-03-03 08:15:01