Jan K.: DIV erzeugen

Hallo wertes Forum,

  
<style type="text/css">  
	.beschreibung{border:1px solid black;padding:1em;width:;margin:1em;}  
</style>  

  
	var neues_div = document.createElement("div");  
	var text = document.createTextNode("Hallo Welt");  
	neues_div.setAttribute("class", "beschreibung", 0);  
	neues_div.appendChild(text);  

Eigentlich habe ich erwartet einen Kasten mit schwarzem Rand im Browser zu sehen.

Wieso wird das DIV nicht sichtbar?

Könnt ihr bei der Gelegenheit eine Javscript-IDE empfehlen?

Gruß aus Berlin,
Jan

  1. Hi,

    var neues_div = document.createElement("div");
    var text = document.createTextNode("Hallo Welt");
    neues_div.setAttribute("class", "beschreibung", 0);
    neues_div.appendChild(text);

      
    Es fehlt etwas in der Art:  
      
    `document.body.appendChild(neues_div);`{:.language-javascript}
    
    1. Qapla’, das Einhängen hat gefehlt:

        
      	var neues_div = document.createElement("div");  
      	var text = document.createTextNode("Hallo Welt");  
      	neues_div.setAttribute("class", "beschreibung", 0);  
      	neues_div.appendChild(text);  
              //Das Einhhängen hat gefehlt:  
      	document.getElementById("content").appendChild(neues_div)  
      
      

      Besten Dank,
      Jan

  2. Hi!

    Eigentlich habe ich erwartet einen Kasten mit schwarzem Rand im Browser zu sehen.

    Einfach so? An welcher Stelle?

    Wieso wird das DIV nicht sichtbar?

    Wo in das DOM hast du das erzeugte div eingehängt?

    Könnt ihr bei der Gelegenheit eine Javscript-IDE empfehlen?

    Was für Anforderungen an eine Javascript-IDE hast du? Javascript ist etwas sehr browserindividuelles. Eine IDE müsste also mit dem Browser verheiratet sein, sonst passt das I im Namen nicht. So etwas kenne ich nur vom Visual Studio in Zusammenarbeit mit dem IE. Ansonsten sind mir nur Erweiterungen wie Firebug bekannt, mit denen man zumindest Debugging betreiben kann.

    Lo!

  3. @@Jan K.:

    nuqneH

    neues_div.setAttribute("class", "beschreibung", 0);

    Dafür schreibst du besser neues_div.className = "beschreibung";

    Wieso wird das DIV nicht sichtbar?

    Weil’s (noch) gar nicht im DOM ist.

    Qapla'

    --
    Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
    (Mark Twain)
    1. Hi,

      neues\_div.setAttribute("class", "beschreibung", 0);  
      

      Dafür schreibst du besser neues_div.className = "beschreibung";

      Warum?

      ~dave

      1. Moin,

        neues\_div.setAttribute("class", "beschreibung", 0);  
        

        Dafür schreibst du besser neues_div.className = "beschreibung";
        Warum?

        Meines Wissens hat der IE Probleme mit setAttribute().

        Grüße Marco

        1. Hallo,

          Dafür schreibst du besser neues_div.className = "beschreibung";
          Warum?
          Meines Wissens hat der IE Probleme mit setAttribute().

          Genauere Beschreibung der Probleme

          Im IE < 8 müsste man setAttribute('className', '...') notieren, damit das class-Attribut korrekt gesetzt wird, was wiederum in anderen Browsern nicht funktioniert. Daher kann man gleich direkt die className-Eigenschaft verwenden.

          Mathias