pankraz: Text in div schreiben

Hallo,

Ich habe ein Problem. Ich möchte eine Finktion basteln, die einen Text in ein <div> schreibt. Leider klappt es nicht ganz, es geschieht nähmlich einfach gar nichts.

  
<html>  
<head>  
</head>  
  
<body>  
<button onclick="ani();">Animation</button>  
<div id="message"></div>  
</body>  
</html>  

  
<script type="text/javascript" language="javascript">  
function ani ()  
{  
var text = "der text der im div sein sollte";  
document.all.message.innerHTML = text;  
}  
</script>  

Kann mir jemand helfen?

Liebe Grüsse

pankraz

  1. Hi
     vielleicht hilft dir das weiter:
    http://de.selfhtml.org/javascript/objekte/all.htm#inner_html

    wobei ich nicht verstehe warum dort nicht getElementById eingesetzt wird.

    Bei deinem Beispiel ist die Funktion ganz unten, im oroginal aber nicht hoffe ich?

    In eigener Sache: Man klernt nie aus, es gibt tatsächlich ein Element mit dem Namen Button. Dabei fand ich die Aussage von Selfhtml:
    http://de.selfhtml.org/html/formulare/klickbuttons.htm#modern

    "Etwas seltsam erscheint die Angabe type="button", sie ist aber notwendig, um diesen Typ von Buttons zu unterscheiden von den  Buttons zum Absenden und Abbrechen."

    Verstehe ich nicht denn bei dem Verweis dazu kommt button ja immer nur in der Form vor: <input type="...> warum also bei type auch bei <button> wichtig?

    Paul

  2. Lieber pankraz,

    Ich möchte eine Finktion basteln

    aha... was ist das?

    var text = "der text der im div sein sollte";

    Soweit ist das OK.

    document.all.message.innerHTML = text;

    Das solltest Du ganz schnell wieder vergessen!! "document.all" war nie JavaScript-Standard, sondern immer Microsoft-only. Informiere Dich genauer über das http://de.selfhtml.org/javascript/objekte/all.htm@title=all-Objekt!.

    Was Du suchst, ist im Grunde genommen der Umgang mit HTML-Element-Objekten (auch "http://de.selfhtml.org/javascript/objekte/node.htm@title=node" genannt). Du brauchst zum einen http://de.selfhtml.org/javascript/objekte/document.htm#get_element_by_id@title=getElementById(), um Dein Elementobjekt "anfassen" zu können, und dann verschiedene Methoden, um etwas mit ihm anzustellen.

    Du willst Text in ein <div> schreiben? Warum muss es ein <div> sein? Nimm doch ein <p>! JavaScript ist es egal, was für ein HTML-Element die ID hat, es wird die Methoden ebenso auf ein <div> anwenden, wie es das auch auf ein <p> tun würde...

    So. Dein Text ist in JavaScript auch ein Objekt, denn in JavaScript ist einfach alles ein Objekt. Und damit Dein Text im passenden HTML-Element (mir wäre ein <p> echt lieber) hineingepflanzt werden kann, muss aus Deinem Text ersteinmal ein sogenannter Textknoten (textNode) werden. Dazu gibt es document.http://de.selfhtml.org/javascript/objekte/document.htm#create_text_node@title=createTextNode("text...."). Diesen Textknoten kannst Du dann in Dein HTML-Element einhängen. Dazu hat ein jedes HTML-Element (das auch ein Objekt in JavaScript darstellt) eine passende Methode (oder auch Funktion) dafür: meinElement.http://de.selfhtml.org/javascript/objekte/node.htm#append_child@title=appendChild(Knoten).

    function ani() {  
        var meinText = "der Text, der da irgendwo hin soll.";  
        var textKnoten = document.createTextNode(meinText);  
        var meinElement = document.getElementById("dieID");  
      
        meinElement.appendChild(textKnoten);  
    }
    

    Funktion verstanden?

    Liebe Grüße,

    Felix Riesterer.

    --
    ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)