javascript 如何将一个 div 的背景应用到另一个 javascript
how to apply the background from one div to another, in javascript
我是 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;
如果您只想要背景样式的某个部分,而不是一次全部,您可以使用以下任何选项而不是 "background."
- 背景色
- 背景图片
- 背景重复
- 背景附件
- 背景位置
可以找到有关背景样式的更多信息here
如果您对我为什么使用 "document.defaultView.getComputedStyle" 而不是 "window.getComputedStyle" 感到好奇,请随时查看 this Whosebug Q/A 来回答这个问题。
TL:DR; "document.defaultView.getComputedStyle" 适用于所有浏览器
您可以使用 someElement.style.backgroundColor
:
var oldDiv = document.getElementById('old');
var newDiv = document.getElementById('new');
newDiv.style.backgroundColor = oldDiv.style.backgroundColor;
我是 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;
如果您只想要背景样式的某个部分,而不是一次全部,您可以使用以下任何选项而不是 "background."
- 背景色
- 背景图片
- 背景重复
- 背景附件
- 背景位置
可以找到有关背景样式的更多信息here
如果您对我为什么使用 "document.defaultView.getComputedStyle" 而不是 "window.getComputedStyle" 感到好奇,请随时查看 this Whosebug Q/A 来回答这个问题。
TL:DR; "document.defaultView.getComputedStyle" 适用于所有浏览器
您可以使用 someElement.style.backgroundColor
:
var oldDiv = document.getElementById('old');
var newDiv = document.getElementById('new');
newDiv.style.backgroundColor = oldDiv.style.backgroundColor;