开门见山。
新手学习Javascript关于DOM操作节点时会发现无法操作body更改样式,这是为什么呢?
我一开始是这么写的:
'use strict'
var body = document.getElementsByTagName('body');
body.style.backgroundColor = 'red';
然而刷新页面后并没有任何效果,也就是说这段代码并没有成功执行。
我后来尝试使用以下代码:
'use strict'
var body = document.getElementsByTagName('body');
body.setAttribute('style','background-color:red;');
依然无法成功。
==========================================
原因是因为这里通过
getElementsByTagName(‘body’)
得到的body是一个数组!
因此我们只需要将
var body = document.getElementsByTagName(‘body’);
修改成
var body[0] = document.getElementsByTagName(‘body’);
即可!
同理,以下两行代码都是有效的。
'use strict'
var body = document.getElementsByTagName('body');
//代码1
body[0].setAttribute('style','background-color:wheat;');
//代码2
body[0].style.backgroundColor = 'red';