我是 Javascript 新手,但基本上我想做的是从一个 div 的 CSS 样式获取背景,并将其应用到另一个 div。这是我尝试过的,但它不起作用。
NewDiv.style.background = OldDiv.style.background;
我知道我能做到:
NewDiv.style.innerHTML = OldDiv.style.inHTML;
但我似乎无法用 CSS 背景而不是 html 做类似的事情。我正在尝试仅使用 javascript 而不使用 Jquery 来完成此操作
最佳答案
这应该可以解决问题:
var element1 = document.getElementById("element1Id");
var element2 = document.getElementById("element2Id");
element2.style.background = document.defaultView.getComputedStyle(element1).background;
如果您只想要背景样式的某个部分,而不是一次性全部,则可以使用下面的任何选项来代替“背景”。
- 背景颜色
- 背景图片
- 背景重复
- 背景附件
- 背景位置
有关背景样式的更多信息可以找到here
如果您好奇为什么我使用“document.defaultView.getCompulatedStyle”而不是“window.getCompulatedStyle”,请随时查看 this StackOverflow Q/A 回答了这个问题。
TL:博士; “document.defaultView.getComputedStyle”适用于所有浏览器
关于javascript - 如何在javascript中将一个div的背景应用到另一个div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39859771/