HTML löschen ist einfach:
[CODE=javascript]const element = document.getElementById("my_id");
element.remove();[/CODE]
Das hättest du einfacher mit Google gelöst als hier nachzufragen.
Den fetch-Promise hast du ja auch schon dafür:
[CODE=javascript] .then(data => {
// -> ...
})[/CODE]
Ein Fehler, der immer wieder gemacht wird, ist hier:
[CODE=javascript]return `
<div class="register-container">
<div class="inner-container">
<img id="registerPicture" src="${post.picture}" alt="${post.user}">
<h2 id="registerUser">${post.user}</h2>
<h5 id="registerEmail">${post.email}</h5>
<button onclick=logOutButton("${post._id}") id="registerButton">Log out</button>
</div>
</div>
`[/CODE]
Der return liefert nur Text, kein HTML. Um deinen Button dynamisch zu machen, musst du HTML/DOM-Objekte verwenden.
[ICODE]onclick=logOutButton("${post._id}")[/ICODE] kannst du also weglassen, das ist auch kein valides HTML.
[CODE=javascript]function myListener(id) {
alert('you clicked on the button: ${id}')
};
document.getElementById("registerButton").addEventListener('click', myListener, '${post._id}')
// or
document.getElementById("registerButton").addEventListener('click', () => myListener('${post._id}'))
[/CODE]
Natürlich musst du Backticks verwenden statt der Hochkommas, hier ist bloß so eine blöde Tastatur, deshalb hab ich es mir einfach gemacht.