2016-10-04 3 views
1

Я новичок в Javascript, но в основном то, что я хочу сделать, это получить фон из одного стиля CSS div и применить его к другому div. Это то, что я пробовал, но он не работает.Как применить фон от одного div к другому, в javascript

NewDiv.style.background = OldDiv.style.background; 

Я знаю, что я могу сделать:

NewDiv.style.innerHTML = OldDiv.style.inHTML; 

Но я не могу сделать что-то подобное с CSS фона вместо HTML. Я пытаюсь сделать это только с яваскриптом и не Jquery

+0

Возможный дубликат [Получить значение CSS с JavaScript] (HTTP://stackoverflow.com/questions/6338217/get-a-css-value-with-javascript) – Robiseb

+0

@ r1k, как вы получаете NewDiv и OldDiv? – DenysM

ответ

0

Это должно сделать трюк:

var element1 = document.getElementById("element1Id"); 
var element2 = document.getElementById("element2Id"); 
element2.style.background = document.defaultView.getComputedStyle(element1).background; 

Если вы хотите только определенную часть фонового стиля, а не все сразу, вы можете используйте любой из нижеперечисленных вариантов вместо «background».

  • цвет фона
  • фонового изображение
  • фон-повторить
  • фона привязанность
  • фона положение
более

информации о фоне укладке можно найти here

Если вы ar Любопытно, почему я использовал «document.defaultView.getComputedStyle» вместо «window.getComputedStyle», не забудьте проверить this StackOverflow Q/A, который отвечает на этот вопрос.

TL: DR; "Document.defaultView.getComputedStyle" будет работать во всех браузерах

+0

спасибо, но это не совсем то, чего я хочу достичь. Я не хочу копировать все стили первого div, только фон. Другие стили определяют, для второго div должен оставаться неповрежденным – r1k

+0

oh gotcha, теперь он исправлен! – splay

+0

Это сработало! Большое спасибо – r1k

0

Вы можете использовать someElement.style.backgroundColor:

var oldDiv = document.getElementById('old'); 
var newDiv = document.getElementById('new'); 

newDiv.style.backgroundColor = oldDiv.style.backgroundColor; 

Подробнее: Style backgroundColor Property

+0

он, похоже, не работает – r1k