Jeena Paradies: Knoten in den dom-Baum einhängen

Hallo,

Ich versuche mich gerade wieder einmal an JavaScript, warum bekomme ich nur Fehler wenn ich dieses Script aufrufe?

http://jeenaparadies.net/t/bbcode-links-anhaengen.html

Grüße
Jeena Paradies

--
Weblogsoftware Jlog
Was gutes gesucht? Dann nimm doch Gourmetica Mentiri
  1. Ich versuche mich gerade wieder einmal an JavaScript, warum bekomme ich nur Fehler wenn ich dieses Script aufrufe?

    http://jeenaparadies.net/t/bbcode-links-anhaengen.html

    Element main ist nicht direkter parent von Element bbcode. Deshalb gäbe es Fehler im Baum, wenn du es so einfügen würdest. Das führt zu der DOM-Exception. So geht es richtig:

      
    <html>  
    <head>  
     <title>BBCode Links anhängen</title>  
     <script type="text/javascript">  
    [code lang=javascript]  
      function a() {  
       var b = document.createElement("a");  
       b.setAttribute("href", "javascript:insert('[b]', '[/b'])");  
       var tb = document.createTextNode('[b]');  
       b.appendChild(tb);  
       var br = document.getElementById("bbcode");  
       if (br.insertBefore) {  
         var bbc = document.getElementById("bbcode");  
         bbc.parentNode.insertBefore(b,bbc);  
       }  
      }  
     
    ~~~</script>  
    </head>  
    <body onload="a();">  
    <div id="main">  
     <form action="bbcode-links-anhaengen.html" id="entryform">  
      <p>Wie benutze ich <a id='bbcode' onclick="learnbb('http://jlog.dev'); return false;" href='http://jlog.dev/learn\_bb.php'>BBcode</a>?  
       <br id='bbcode' />  
       <textarea rows='8' cols='30' name='content'></textarea>  
      </p>  
     </form>  
    </div>  
    </body>  
    </html>  
    [/code]  
      
    
    
    1. Hallo,

      Element main ist nicht direkter parent von Element bbcode.

      Ach das muss immer das Elternelement sein, da sieht man mal wieder wie wenig Ahnung ich von JS habe, aber ich lerne. Vielen Dank für die Info.

      Grüße
      Jeena Paradies

      --
      Weblogsoftware Jlog
      Was gutes gesucht? Dann nimm doch Gourmetica Mentiri
    2. Hallo,

      eine Frage noch:

      1|   var br = document.getElementById("bbcode");
      2|   if (br.insertBefore) {
      3|   var bbc = document.getElementById("bbcode");
      4|   bbc.parentNode.insertBefore(b,bbc);
      5|   }

      Warum muss ich das document.getElementById("bbcode"); in Zeile 3 noch einmal bbc zuweisen, wenn ich es schon in Zeile 1 br zugewiesen habe?

      Grüße
      Jeena Paradies

      --
      Weblogsoftware Jlog
      Was gutes gesucht? Dann nimm doch Gourmetica Mentiri
      1. Warum muss ich das document.getElementById("bbcode"); in Zeile 3 noch einmal bbc zuweisen, wenn ich es schon in Zeile 1 br zugewiesen habe?

        Musst du nicht. Ich habe es nur übersehen, dass du das Element schon geholt hast.

        1. Hallo,

          Musst du nicht. Ich habe es nur übersehen, dass du das Element schon geholt hast.

          Ach super ok vielen Dank noch mal jetzt funktioniert es wunderbar :-)

          Grüße
          Jeena Paradies

          --
          Weblogsoftware Jlog
          Was gutes gesucht? Dann nimm doch Gourmetica Mentiri
    3. Hallo,

      Hm es klappt fast, aber irgendwie nicht ganz und ich finde nicht heraus warum. Eigentlich wollte ich so etwas erreichen:

      Wie benutze ich BBcode? [b]

      aber es wird vor dem Link eingefügt:

      Wie benutze ich [b]BBcode?

      siehe: http://jeenaparadies.net/t/bbcode-links-anhaengen2.html

      Grüße
      Jeena Paradies

      --
      Weblogsoftware Jlog
      Was gutes gesucht? Dann nimm doch Gourmetica Mentiri
      1. Tag Jeena.

        Hm es klappt fast, aber irgendwie nicht ganz und ich finde nicht heraus warum.

        Du hast für den Link zur BBCode-Erklärung die gleiche ID vergeben wie für das br-Element.

        Siechfred

        --
        «Ich liebe euch doch alle!»
        1. Hallo,

          Du hast für den Link zur BBCode-Erklärung die gleiche ID vergeben wie für das br-Element.

          Man wie blöd kann man sein?

          Grüße
          Jeena Paradies

          --
          Weblogsoftware Jlog
          Was gutes gesucht? Dann nimm doch Gourmetica Mentiri
  2. Tag Jeena.

    Ich versuche mich gerade wieder einmal an JavaScript, warum bekomme ich nur Fehler wenn ich dieses Script aufrufe?
      http://jeenaparadies.net/t/bbcode-links-anhaengen.html

    Das liegt daran, dass "bbcode" kein Kind von "main" ist, sondern ein Enkel. Elternelement deines br ist jedoch das (noch) identitätslose p-Element. Gib diesem eine ID und schreibe

    document.getElementById("id_des_p").insertBefore(b, document.getElementById("bbcode"));

    So müsste es gehen.

    Siechfred

    --
    «Ich liebe euch doch alle!»
    1. Gib diesem eine ID

      Das ist nicht nötig. parentNode existiert.

      1. Tag Anonymous.

        Das ist nicht nötig. parentNode existiert.

        Ja, aber meine Variante funktioniert ebenso wie deine. Ist halt wie mit Rom ... ;-)

        Siechfred

        --
        «Ich liebe euch doch alle!»
        1. Hallo,

          Ja, aber meine Variante funktioniert ebenso wie deine. Ist halt wie mit Rom ... ;-)

          Nur wenn irgendwann einmal das Element mit der ID bbcode wo anders ist habe ich das Problem, dass ich alles wieder ändern muss, aber auf jeden Fall habe ich jetzt kapiert woran es lag, vielen Dank dafür.

          Grüße
          Jeena Paradies

          --
          Weblogsoftware Jlog
          Was gutes gesucht? Dann nimm doch Gourmetica Mentiri