Pre-Requisite: allPanelElems1[j] has elements such as t1, t2, t3 etc. which are div elements.
I am calling the javascript function handlePanelClick1 on array of elements. Inside the function I am adding up some other element i.e apiinfo. Now this function is called for each of element inside array allPanelElems1[j]. When a user clicks on any element of allPanelElems1[j] (let's say t1), then inside function element apiinfo is added successfully but when user clicks on the same element (t1) again then the element apiinfo is added again. 
Is there a way, so that when user click on any element for the first time the apiinfo element should be added. But if the user calls the element again then apiinfo should not be added. Similarly for other elements t2, t3 etc ?
var allPanelElems1 = accordionElem.querySelectorAll(".panel1");
for (var j = 0, len1 = allPanelElems1.length; j < len1; j++) {
  allPanelElems1[j].addEventListener("click", handlePanelClick1);
}
function handlePanelClick1(event) {
  if (event.currentTarget.getAttribute('class').indexOf('active') >= 0) {
    event.currentTarget.classList.remove("active");
  } else {
    prod1 = {
      "Testcase": [{
          "apiName": " demoAPIname1",
          "request": "req",
          "response": " res"
        },
        {
          "apiName": " demoAPI name2",
          "request": " req",
          "response": "res"
        }
      ]
    };
    var projectBody1 = document.createElement("div");
    for (var propt1 in prod1) {
      var projectBody2 = document.createElement("div");
      var project1 = prod1[propt1];
      for (var i in project1) {
        var temp = document.createElement("div");
        var apiname = project1[i].apiName;
        var request1 = project1[i].request;
        var response1 = project1[i].response;
        var t1 = document.createElement("div");
        var r1 = document.createElement("div");
        var t2 = document.createElement("div");
        var r2 = document.createElement("div");
        r1.innerHTML = request1;
        r2.innerHTML = response1;
        t1.appendChild(createPanel("request", r1, "apidata"));
        t2.appendChild(createPanel("response", r2, "apidata"));
        temp.appendChild(t1);
        temp.appendChild(t2);
        projectBody2.appendChild(createPanel(apiname, temp, "apipanel"));
      }
    }
    projectBody1.appendChild(createPanel("apiinfo", projectBody2, "apititle"));
    var accordion4 = event.currentTarget; //THIS LINE I AM ASSIGNING MY current element
    accordion4.appendChild(projectBody1);
    var allPanelElems4 = accordion4.querySelectorAll(".panel");
    for (var i = 0, len = allPanelElems4.length; i < len; i++) {
      allPanelElems4[i].addEventListener("click", handlePanelClick);
    }
    event.currentTarget.classList.add("active");
  }
  event.stopPropagation();
}
 
     
    