2013-01-10 79 views
0

我正在玩一些JS,想知道爲什麼當添加樣式到我的身體邊緣我的其他元素消失?document.body.style.margin刪除元素

window.onload = function() { 

with(document.body.style) { 
    margin = "0px 0px 0px 0px"; 
} 

var header = document.createElement('header'); 

with(header.style) { 
    height = '2px'; 
    marginBottom = '30px'; 
    backgroundColor = '#333'; 
    width = '100%'; 
    margin = '0'; 
    padding = '0'; 
} 

document.body.appendChild(header); 

var h1 = document.createElement('h1'); 
var name = document.createTextNode("Header1"); 
h1.appendChild(name); 

document.body.appendChild(h1); 

} 

我想要做的是刪除邊際和填充應用於任何元素。在CSS中我會做這樣的:

* { margin: 0; padding: 0; } 
+0

'with()'是什麼? –

+2

@Alex [JavaScript:'with'](https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Statements/with)。 – Teemu

+1

Cheers Teemu,這就是爲什麼我沒有聽說過它......「不建議使用with,並且在ECMAScript 5嚴格模式下禁止使用。」 –

回答

1

我已經刪除(),並直接引用樣式屬性,這個固定的問題和樣式現在可以正確適用。

+0

你的代碼似乎工作,也許你的一些CSS是干擾。例如,它看起來很好[這裏](http://jsfiddle.net/9afC9/),但不是[這裏](http://codepen.io/anon/pen/AweKv)。 – bfavaretto