Javascript нужно узнать новое имя класса после добавления нового - PullRequest
0 голосов
/ 13 апреля 2020

Мне нужно узнать новое имя класса после добавления. Я пытаюсь со следующим javascript. он добавляет новое имя класса и вносит изменения из таблицы стилей, но не находит и не работает событие onclick из javascript. если кто-то решил это.

Подробности этого кода:

1) создайте popupBox с элементом HTML из javascript .it имеет «Заголовок», «Содержимое» и две кнопки, те «Отмена» и «Готово»;

2) Всплывающее окно будет видно и добавит новое имя класса в элемент кнопки «готово», нажав кнопку «открыть всплывающее окно».

3) Затем следует найти новое имя класса и сделать его событием onclick по javascript. (Но оно не работает).

 /*×××××××××××Popup××××××××××××*/
//if class="popup-allow" div element is found, Then create the popupBox
if(document.getElementsByClassName('popup-allow')[0]){
  document.getElementsByClassName('popup-allow')[0].innerHTML += '<div class="popup">\
     <div class="popup-title"></div>\
     <div class="popup-content"></div>\
     <div class="popup-bottom">\
       <button class="red cancel-popup">Cancel</button>\
       <button id="done-popup" class="blue">Done</button>\
     </div>\
  </div>';
//if popup has been created and found. 
if(document.getElementsByClassName('popup')[0]){
       var popupBox = document.getElementsByClassName('popup')[0];
       var cancelPopup = document.getElementsByClassName('cancel-popup')[0];

    //popup function. that have 3 parameters. the newClass parameter will be increase a new class name of done-popup button's    of popupBox  
   function popup(setPopupTitle, setPopupContent, newClass){
        var popup = document.getElementsByClassName('popup')[0];
        var popupTitle = document.getElementsByClassName('popup-title')[0];
        var popupContent = document.getElementsByClassName('popup-content')[0];
        var donePopup = document.getElementById('done-popup');

       popup.style.visibility = "visible";
       popup.style.opacity = "1";
       popup.style.webkitTransform = "scale(1)";

       popupTitle.innerHTML = setPopupTitle;
       popupContent.innerHTML = setPopupContent;

       donePopup.className += " "+newClass;
   }

   //popupBox have two button one is cancel popup and done-popup is other
   cancelPopup.onclick = function(){
       popupBox.style.visibility = "hidden";
       popupBox.style.opacity = "0";
       popupBox.style.webkitTransform = "scale(0.9)";
   }

   //on my body tag's have a button name is Open Popup. if click on it,it will be visible popupBox and set a new class into the done-popup button of popupBox.
   document.getElementsByClassName('openPopup')[0].onclick = function(){
        popup("This is title", "This is content", "myClass");
   }

   //here i'm trying to get the done-popup button by the new class which is added by click on Open Popup button.
   if(document.getElementsByClassName('myClass')[0]){
   document.getElementsByClassName('myClass')[0].onclick = function(){
       notification("updated successfully!", 5000);
       setTimeout(function(){
           popupBox.style.visibility = "hidden";
          popupBox.style.opacity = "0";
          popupBox.style.webkitTransform = "scale(0.9)";
       }, 500);
    }  
   }

 }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...