Dokument.createElement / Dokument.Körper.appendChild nicht erstellen / schreiben von div, wo Sie ausgeführt werden

Habe ich ein div mit der ID 'headercontent", und ich muss ein script schreiben, einen link zu den anderen, wenn javascript aktiviert ist, auf das Benutzer system, sondern hat auch eine Sicherung mit noscript nur im Fall, dass der Benutzer nicht javascript aktiviert haben.

Code läuft wunderbar und die 'a' - element geschrieben werden, wenn ausgeführt, aber das problem ist, dass der code nicht geschrieben sind in dem div ist es ausgeführt. Schreibt es ausserhalb der "headercontent' div-Element und ignoriert die Klasse, Stil komplett, obwohl es geschrieben wird, in die gerenderte code. Ich bin nicht allzu besorgt über das styling/Klasse, da kann ich nur hinzufügen, dass ein style-Attribut zu dem element, und bekommen es schriftlich per javascript, falls nötig, aber ich bin mehr besorgt über, warum die das schreiben von code außerhalb des div.

Mein code ist:

<div id="headercontent">
    hey, this is a div.
    <a href="#" class="button">This is a link</a>
    <a href="#" class="button">This is another link</a>

    <script type="text/javascript">
        writeask()
        function writeask() {
         var writeaskbox = document.createElement('a');
         writeaskbox.href = 'javascript:askbox()';
         writeaskbox.className = 'button';
         writeaskbox.innerHTML = 
             ['Ask'].join(' ')
         document.body.appendChild(writeaskbox);
        }

        function askbox(){
         var askbox = document.getElementById('askbox')
         if (askbox.style.display == 'none') {
          askbox.style.display = 'block'
          askbox.style.height = '150px'             
         } else {
          askbox.style.display = 'none'
          askbox.style.height = '0px'
         }
        }
    </script>
    <noscript><a href="/ask" class="button">Ask</a></noscript>
</div>

Wie bekomme ich die writeask () - Funktion zum erstellen dieses eine element in das gleiche div ist es ausgeführt? So dass die endgültige Ausgabe ist:

<div id="headercontent">
    hey, this is a div.
    <a href="#" class="button">This is a link</a>
    <a href="#" class="button">This is another link</a>
    <a href="javascript: askbox()" class="button">Ask</a>
</div>

Statt:

<div id="headercontent">
    hey, this is a div.
    <a href="#" class="button">This is a link</a>
    <a href="#" class="button">This is another link</a>
</div>
<a href="javascript: askbox()" class="button">Ask</a>

Ich bin noch Anfänger mit javascript also ich bin ziemlich verwirrt jetzt. Wenn jemand helfen könnte, wäre das sehr willkommen.

Vielen Dank im Voraus. Dan.

InformationsquelleAutor Danny S | 2012-02-02

Schreibe einen Kommentar