2016-09-16 232 views
0

你好呼叫功能

所以,我有一个动态创建HTML元素一些JS代码。更确切地说,它创建了其中还包含其他一些东西的元素div

每个div元件具有在其内部的img元件。我怎样才能达到这样的效果,当在某个div元素中单击img元素时,该确切的div元素被删除?

这是我的代码,动态创建的元素:

function addQuestion(question){ 
 
    var s = "<div style=\"width:100%;background-color:transparent;border-top:none;border-bottom:2px solid white;border-right:none;border-left:none;\"><div style=\"margin:5px;font-family:Verdana;color:white;\">"+"<p>"+noTag(question)+"</p>"+"</div></div>"; 
 

 
    var div = document.createElement('div'); 
 
    div.innerHTML = s; 
 
    document.getElementById("div_questions").appendChild(div); 
 
}

目前,它不创建img元素。但这个想法是,在这些div元素的同时也创建了一个img元素,点击后,会删除这一点,只有div元素。

我该如何做到这一点?

+0

还删除DIV,你可以用'$(本).closest( 'Div_selector')。remove()方法' – Rajesh

+0

哪里img标签添加?在动态添加的内容中看不到img元素。 – majita

回答

0

试试下面的代码....

  var _cotainerDiv = document.getElementsById("holderDiv"); 

      var _tempDiv = document.createElement("div"); 
      $(_tempDiv).css({ 
       //Css properties... 
      }); 

      _cotainerDiv.appendChild(_tempDiv); 

      var _tempImg = new Image(); 
      _tempImg.src = "...../imagePath"; 
      _tempImg.onload=function(){ 
       this.addEventListener("click", onImageClick); 
      } 
      _tempDiv.appendChild(_tempImg); 


      function onImageClick(event) 
      { 
       var _curImg = event.target; 

       _cotainerDiv.removeChild(_curImg.parentElement); 
      }