[JS] id-Attribut ändern - Keine Veränderung

unregiert

abgemeldet
22 April 2006
451
26
Salve

Ich möchte eine Div-Box öffn'bar und schliessbar machen:
HTML:
<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
  <head>
    <title>New Document</title>
    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
    <style>
    .open
    {
      display: block;
    }
    .closed
    {
      display: none;
    }
    </style>
    <script type="text/javascript">
    function closeeditor() {
      document.getElementsByName("editor").span = "closed";
    }
    function editor(){
      if(document.getElementsByName("editor")[0].span == "open") {
        document.getElementsByName("editor")[0].span = "closed";
      }
      if(document.getElementsByName("editor")[0].span == "closed") {
        document.getElementsByName("editor")[0].span = "open";
      }
    }
    
    </script>
  </head>
  <body onload="closeeditor();">
  <a href="javascript:editor();">Editor öffnen</a>
  <div name="editor" span="closed">a asdfas df asdf asdfsad fsdaf asdffdsadsf</div>
  </body>
</html>
Aber leider gibts keine Veränderung. Kann jemand helfen?
 
Zuletzt bearbeitet:
Sprech es doch über document.getElementsByName("editor").style.display = "none/inline/table-row" an. Dann brauchst du die classes nicht zu verändern sondern änderst nur die Displayeigenschaft.
 
Sprech es doch über document.getElementsByName("editor").style.display = "none/inline/table-row" an. Dann brauchst du die classes nicht zu verändern sondern änderst nur die Displayeigenschaft.

zu Strolch00: Es gibt auch noch block ;)
Fehler: document.getElementsByName("editor")[0].style has no properties
Quelldatei: xxxx/js.html
Zeile: 18

HTML:
<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
  <head>
    <title>New Document</title>
    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
    <style>
    .open
    {
      display: block;
    }
    .closed
    {
      display: none;
    }
    </style>
    <script type="text/javascript">
      document.getElementsByName("editor")[0].style.display = "none";
    function editor(){
      if(document.getElementsByName("editor")[0].style.display == "none") {
        document.getElementsByName("editor")[0].style.display = "block";
      }
      if(document.getElementsByName("editor")[0].style.display == "block") {
        document.getElementsByName("editor")[0].style.display = "none";
      }
    }
    
    </script>
  </head>
  <body>
  <a href="javascript:editor();">Editor öffnen</a>
  <div name="editor">a asdfas df asdf asdfsad fsdaf asdffdsadsf</div>
  </body>
</html>
 
1. Machs mit getElementsById('editor') - <div id="editor">
2. Lass das [0] weg
3. Ich würds so machen:
Code:
<script type="text/javascript">
    editor = document.getElementsById("editor");
    editor.style.display = "none"
    function editor(){
      if(editor.style.display == "none") {
        editor.style.display = "block";
      }
      if(editor.style.display == "block") {
        editor.style.display = "none";
      }
    }
</script>