Variable in Text einbinden (HTML & Javascript)

...komplette Frage anzeigen

1 Antwort

Über Javascript kannst du Texte mit dem "+"-Operator verknüpfen:

var n = 3;
var text = "Tom möchte " + n + " Brötchen kaufen.";

Du musst dabei allerdings auch auf das zusätzliche Leerzeichen vor und nach den Anführungszeichen achten, damit im Text nicht alles zusammengeschrieben ist:

Tom möchte3Brötchen kaufen.

Okay, ich versuche es mal, danke :-) Das kommt dann in den Script teil ? brauche ich noch eine function ?

0
@fehlanzeige

Du musst die Variable nur über Javascript irgendwo ausgeben.

Das machst du z.B. über

document.getElementByID("Überschrift").innerHTML = text;
2

Naja damit hast du erstmal lediglich den Text in einer Variable gespeichert. Um den jetzt noch auf der seite anzuzeigen müsstest du entweder

 document.write(text);

schreiben oder so

<div id="text"></div>

Script:

document.getElementById("text").innerHTML = text;
1
@TitusPullo

    <title>Broetchen</title>
</head>

<body>
    <script type="text/javascript">

        var n = 3;
        var text = "Tom möchte " + n + " Brötchen kaufen.";

        <div id="text"></div>



        document.getElementById("text").innerHTML = text;

        </script>
</body>

So ? Das klappt iwie nicht :-/ Was mache ich denn falsch ?

0
@fehlanzeige

Das DIV gehört nicht in den Scriptteil sondern ist HTML, lad dir mal Firebug für Firefox runter dort hätte er dir in der Konsole schon längst ein Syntax Error ausgespuckt.

2
@fehlanzeige

Gerne, noch ein Tipp: schreib deinen Javascript in den Head Bereich, da gehört er normalerweise hin.

0
@TitusPullo

Nein, tut es nicht. Wenn sie es so in den Head packt, wird document.getElementById("text"); grundsätzlich null zurückgeben, da der DOM noch nicht vollständig geladen wurde.

Es gehört entweder an's Ende des Bodies, so wie es eigentlich die Meisten mittlerweile handhaben, oder aber in ein entsprechendes onload Callback.

1
@Att1ca

Das man seine Scripte erst ausführt wenn der DOM fertig geladen ist, ist doch klar? Mein Gott habe ich nicht dazugeschrieben...Schande über mein Haupt^^

Ich kenne niemanden aber auch wirklich niemanden der seinen Scriptcode am Ende der Seite einfügt. Bei größeren Projekten würde man hier warscheinlich einfach die Übersicht verlieren. Da ich sowieso überwiegend mit jQuery arbeite ist das $(document).ready so selbstverständlich wie der Script Tag davor ;)

Man sagt zwar es soll die Geschwendigkeit erhöhen, wenn überhaupt, das hat aber gewisse Nachteile wie er das so schön sagt:

http://stackoverflow.com/questions/1013112/where-should-i-declare-javascript-files-used-in-my-page-in-head-head-or-nea

0

Was möchtest Du wissen?