j'ai une fonction qui crée une table HTML:Impossible de lire la propriété `parentNode` undefined
makeHTMLTable: function(array){
var table = document.createElement('table');
for (var i = 0; i < array.length; i++) {
var row = document.createElement('tr');
var cell = document.createElement('td');
cell.textContent = array[i];
row.appendChild(cell);
cell = document.createElement('td');
var msgButton = document.createElement('button');
msgButton.setAttribute("id", "msgButton" +i);
msgButton.textContent = "message";
msgButton.addEventListener("click", this.messageUser, false);
cell.appendChild(msgButton)
row.appendChild(cell);
table.appendChild(row);
}
return table;
},
J'ai alors cette fonction:
messageUser: function(){
debugger;
this.parentNode.parentNode.remove();
unMatch();
},
Lorsque je clique sur le msgbutton Je m'y attendais pour enlever toute la rangée y compris le bouton lui-même et le petit peu de texte qui revient. -à-dire:
hello [msgbutton]
goodbye [msgbutton]
Si je clique [msgbutton] sur la ligne de bonjour, il ressemblera à ceci:
goodbye [msgbutton]
mais jusqu'à présent: this.parentNode.parentNode.remove();
est de retour undefined ..
EDIT:
J'appelle this.retrieveMatches()
dans une promesse qu'il avait faite this.fetchMatches() retourne un tableau
retrieveMatches: function(){
var tableResult = this.makeHTMLMatchesTable(this.fetchMatches(object));
var matches = document.getElementById('matches')
matches.parentNode.insertBefore(tableResult, matches);
},
peut sembler ne pas reproduire que -> https://jsfiddle.net/1nhm2c4k/ – adeneo
@adeneo a modifié pour inclure un autre morceau de code que je l'appelle de –
Pouvez-vous montrer 'obj.makeHTMLMatchesTable' et' obj.fetchMatches'? – Hydro