element.innerHTML = ""
Czym mogę zastąpić właściwość .innerHTML w javascript, gdy chcę wstawić pustą zawartość do jednego z elementów HTML tak jak wyżej?
element.innerHTML = ""
Czym mogę zastąpić właściwość .innerHTML w javascript, gdy chcę wstawić pustą zawartość do jednego z elementów HTML tak jak wyżej?
LukeJL napisał(a):
https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/innerText
https://developer.mozilla.org/en-US/docs/Web/API/Node/textContent
A czy innerText nie zastąpi mi tylko tekstu? Chciałem aby cały HTML zastąpić.
Czyli chcesz wyczyścić zawartość elementu, z jego dzieci, tak?
Zamiast używać innerHTML możesz skorzystać z removeChild.
np. tak:
const myNode = document.getElementById("foo");
while (myNode.firstChild) {
myNode.removeChild(myNode.firstChild);
}
https://developer.mozilla.org/pl/docs/Web/API/Element/removeChild
Chyba nikt nie wie o co Ci chodzi. Po co chcesz to zmieniać?
innerHtml to shorthand. Zamiast tworzenia 'node' lub elementu i zmieniania jej wartości.
alternatywnie możesz użyć replaceChild()
let div= document.createElement('div');
div.appendChild(document.createTextNode('World'));
// replaceChild() poszukaj tej metody w internecie.
phanc napisał(a):
Chyba nikt nie wie o co Ci chodzi. Po co chcesz to zmieniać?
innerHtml to shorthand. Zamiast tworzenia 'node' lub elementu i zmieniania jej wartości.alternatywnie możesz użyć replaceChild()
let div= document.createElement('div');
div.appendChild(document.createTextNode('World'));
// replaceChild() poszukaj tej metody w internecie.
Z tego co wiem innerHTML nie powinno się używać z powodów bezpieczeństwa aplikacji, ale może się mylę?
dom musi się wtedy przekonstuować od nowa, więc co możesz zrobić, to tak jak napisałem wyżej, dodawać, edytować dom dodają nowe nody/elementy bezpośrednio.