blumentopf: document.write löscht document

Wenn ich mit documt.write einen Text direkt ausgebe, wird dieser neben den bereits im <body> vorhandenen geschrieben.

<html><head><title>Test</title>
</head><body>na?
<script type="text/javascript">
function hallo(){
DeinName = "Michel"
document.write("<b>Hallo " + DeinName + "<¥/b>");
}
hallo();
</script>
</body></html>

Rufe ich die function aber erst später mittels eines Links auf, wird das ganze document neu geschrieben, und nur noch der neu erzeugte Text steht da.

<html><head><title>Test</title>
</head><body>na?
<script type="text/javascript">
function hallo(){
DeinName = "Michel"
document.write("<b>Hallo " + DeinName + "<¥/b>");
}
</script>
<A HREF="javascript:hallo();">Hallo?</A>
</body></html>

Wie erreiche ich, dass der durch Aufruf des Verweises generierte Text neben den bereits bestehenden gesetzt wird?

Dank und Gruß

PS das durchgestrichene Y ist eigentlich ein Backslash, wird hier falsch angezeigt.

  1. Hi,

    Rufe ich die function aber erst später mittels eines Links auf, wird das ganze document neu geschrieben, und nur noch der neu erzeugte Text steht da.

    Ja, das ist so, wenn du document.write zu einem späteren Zeitpunkt als während des Ladens des Dokumentes aufrufst.

    Wie erreiche ich, dass der durch Aufruf des Verweises generierte Text neben den bereits bestehenden gesetzt wird?

    In dem du eine andere Möglichkeit wählst, Inhalte ins Dokument zu bringen - beispielsweise, in dem du der innerHTML-Eigenschaft eines Elements den neuen Inhalt in Stringform zuweist.

    MfG ChrisB

    --
    RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
    1. Danke für die Hinweise!
      Ich werde es mit der vorgeschlagenen Lösung probieren.

  2. Moin!

    Wie erreiche ich, dass der durch Aufruf des Verweises generierte Text neben den bereits bestehenden gesetzt wird?

    Durch sowas wie ChrisB es erwähnte:

    <div id="t1">Welt</div>  
    <div><input type='button' value='Klickmich!' onclick='aendere();' />  
      
      
    <script type="text/javascript">
    ~~~~~~javascript
      
    function aendere() {  
    document.getElementById('t1').innerHTML='<b style="color:red">Hallo ' + document.getElementById('t1').innerHTML + '!</b>';  
    }  
    
    ~~~`</script>`{:.language-html}  
      
      
      
    MFFG (Mit freundlich- friedfertigem Grinsen)  
      
    fastix  
    
    -- 
    [Des fastix kleines CMS](http://www.fastix.org/fastix-cms/)