@Alex_87

Почему не передаются стили css посредством innerHTML?

Здравствуйте! Не могу понять, почему не передаются стили посредством innerHTML...
На странице все стили работают, но при передачи в модальное окно, они исчезают. Создаётся впечатление, что вместо того, что выдрать весь div с классом btn (предпоследняя строчка) браузер выдирает только сам контент. Помогите пожалуйста разобраться!
Вот код:
/* Модальное окно */

    function Popup(options){
    this.modal = document.querySelector(options.modal);
    this.overlay = document.querySelector(options.overlay);

    var popup = this;

    this.open = function(content){
        popup.modal.innerHTML = content;
        popup.modal.classList.add('open');
        popup.overlay.classList.add('open');
    };
    this.close = function(){
        popup.overlay.classList.remove('open');
        popup.modal.classList.remove('open');
    };
    this.overlay.onclick = popup.close;
}

window.onload = function(){
    var p = new Popup({
        modal: '.modal',
        overlay: '.overlay'
    });

     
    document.querySelector('.form_popup').onclick = function(){
    var form = document.querySelector('.btn');
    p.open(form.innerHTML);
   };

};

на странице:
59cd000e50ac8009959351.png

В модальном окне:
59cd003799648740345658.png
  • Вопрос задан
  • 748 просмотров
Пригласить эксперта
Ответы на вопрос 1
Stalker_RED
@Stalker_RED
innerHTML получает то, что внутри вашего элемента. Для получения самого элемента есть outerHTML

var myButton = document.querySelector('.btn').outerHTML;
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы