2016-11-16 77 views
0

JavaScript具有精巧的Destructuring assignment簡短手形特徵,在從對象中的屬性創建多個變量時效果很好。解構賦值將樣式賦給DOM元素

我想做一個類似的按鈕元素的樣式。這是我的工作代碼:

var button = document.createElement('button'); 
button.style.background = '#30a900'; 
button.style.color = 'white'; 
button.style.border = '1px solid white'; 

我想要做的東西像下面這樣:

var mystyles = { 
    background: '#30a900', 
    color: 'white', 
    border: '1px solid white', 
}; 
var button = document.createElement('button'); 
button.style = mystyles; 

然而,由於預期這不起作用。有沒有ES6的功能來完成這項任務?

+0

'Object.assign'? – Bergi

回答

2

什麼Object.assign

var button = document.createElement('button'); 
 
button.innerText = 'Object.assign'; 
 
var mystyles = { 
 
    background: '#30a900', 
 
    color: 'white', 
 
    border: '1px solid white', 
 
}; 
 
Object.assign(button.style, mystyles); 
 
document.body.appendChild(button);

1

您可以使用Object.assign()

const button = document.createElement('button'); 
Object.assign(button.style, { 
    background: '#30a900', 
    color: 'white', 
    border: '1px solid white', 
}); 

例子:

const button = document.createElement('button'); 
 
Object.assign(button.style, { 
 
    background: '#30a900', 
 
    color: 'white', 
 
    border: '1px solid white', 
 
}); 
 
button.textContent = 'Button'; 
 
document.body.appendChild(button);
body { 
 
    background-color: gray; 
 
}