2016-09-16 240 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); 
      }