Hi! I made simple script, that creates and removes <div> element. I'm experiencing a problem, I can't remove the <div>. Although it may seem trivial, I don't know how to solve it. Moreover, chrome and firefox don't give me the error description.
Code:
function removeDOMforChart(id) {
var tmpElementVar = document.getElementById(id);
tmpElementVar.innerHTML = "";
//tmpElementVar.parentNode.removeChild(tmpElementVar);
}
function addDOMforChart() {
var parentID = document.getElementById("furtherCharts");
var childFreeID = returnFirstFreeNo();
var fullID = 'chart'+childFreeID;
var divID = 'd'+fullID;
parentID.innerHTML +='<div id="'+divID+'" style="width:800px;">';
parentID.innerHTML +='<canvas id="'+fullID+'" width=780 style="float:left;"></canvas>';
parentID.innerHTML +='<img src="goUp.png" style="float:right;" onclick="removeDOMforChart(\''+divID+'\');">';
parentID.innerHTML +='<img src="closeChart.png" style="float:right;">';
parentID.innerHTML +='</div>'
}
The HTML looks like this :
Code:
<div id="furtherCharts"></div>
I attach next div's of name dchart0,dchart1, to a div of id = "furtherCharts" etc. Within every new div there is an img with onclick function passing argument of ID (dchart0,...) to a function removeDOMforChart(id) to remove itself.
I try to remove the content of element (chart0,...) with tmpElementVar.innerHTML = "";, no joy but no error also, with
tmpElementVar.parentNode.removeChild(tmpElementVar);
I get nothing for the first click, after this, every next click triggers an error
"Uncaught TypeError: Cannot set property 'innerHTML' of null";
Looks like the div element gets removed, but on the screen nothing changes ? How is this even possible ? Please, help me with this.
Bookmarks