Czy istnieje sposób na zmianę wartości DOM textNode w przeglądarce internetowej?
W szczególności chcę sprawdzić, czy mogę zmienić istniejący węzeł, zamiast tworzyć nowy.
Aby wyjaśnić, muszę to zrobić za pomocą JavaScript. Cały tekst w przeglądarce jest przechowywany w #textNodes, które są elementami podrzędnymi innych węzłów HTML, ale nie mogą mieć własnych węzłów podrzędnych.
Jak udzielono poniżej, zawartość można zmienić, ustawiając właściwość nodeValue tych obiektów.
javascript
dom
dhtml
levik
źródło
źródło
innerHTML
użytkowania i faworyzujetextContent
użycie . UtextContent
mnie działa dobrze.Odpowiedzi:
Jeśli masz określony węzeł (typu #text) i chcesz zmienić jego wartość, możesz użyć właściwości nodeValue :
node.nodeValue="new value";
Uwaga:
innerText (i
możliwietextContent) zwróci / ustawi tekst zarówno dla bieżącego węzła, jak i dla wszystkich węzłów podrzędnych, więc może nie być zachowaniem, którego chcesz / oczekujesz.źródło
Uważam, że do tego używany jest innerHTML ... Z drugiej strony, to nie jest zatwierdzone przez W3C ... ale działa ...
node.innerHTML="new value";
źródło
innerHTML
ponieważ traktuje kod jako tekst zarówno podczas czytania, jak i pisania.nodeValue
węzeł tekstowy, a nie jego element nadrzędny.