为何document.body.style.backgroundImage无法获取body元素背景图URL?
问题原因及解决方法
element.style对象只能读取元素的内联样式(即直接写在元素标签的style属性里的样式),你给body定义的背景图是在外部/内部样式表中,不属于内联样式范畴,所以document.body.style.backgroundImage会返回空字符串。- 测试子元素
div时能拿到值,是因为测试时给div设置了内联style属性,或是通过JS用element.style修改过它的样式,这种情况下style对象才能读取到对应属性。 - 如果要获取
body最终生效的样式(无论样式定义在哪里),可以使用getComputedStyle方法,示例代码:
console.log(getComputedStyle(document.body).backgroundImage);
内容的提问来源于stack exchange,提问作者Basj
相关产品推荐
相关产品推荐

