It seems like the replace() method doesn't work when I ask it to remove an input-element inside a <p></p>
.
Other HTML-elements like <br>
will be removed when by itself.
var message = document.getElementById('message');
var firstname = document.getElementById('firstname');
var lastname = document.getElementById('lastname');
firstname.onclick = lastname.onclick = removeInput;
function removeInput() {
var id = this.id;
var paragraph = message.innerHTML;
var toRemove = "<input type='text' id='inp" + id + "'><br><br>";
var newParagraph = paragraph.replace(toRemove, '');
message.innerHTML = newParagraph;
}
<p id="message">
First name: <input type='text' id='inpfirstname'><br><br>
Last name: <input type='text' id='inplastname'><br><br>
</p>
First name: <input type="radio" name="name" id="firstname">
Last name: <input type="radio" name="name" id="lastname">
Expected result: The desired input is removed.
Actual result: Nothing is removed.