Norman: Div wird nicht dargestellt

Hallo,

Eines meiner Elemente, das in ein DIV eingeschlossen ist, wird nicht dargestellt, weil im weiteren Verlauf der Seite folgender Code steht:

  
<script type=\"text/javascript\">  
function show(a,b) {  
document.getElementById(a).style.display = \"block\";  
document.getElementById(b).style.display = \"none\";  
}  
</script>  
<style type=\"text/css\">  
div { display:none; }  
</style>  
<input type=\"Radio\" name=\"Favorit\" value=\"ja\" id=\"r0\" onclick=\"show('d0','d1')\" checked>ja  
<input type=\"Radio\" name=\"Favorit\" value=\"nein\" id=\"r1\" onclick=\"show('d1','d0')\">nein<BR>  
<div id=\"d0\"></div>  
<div id=\"d1\">Name eintragen:<TEXTAREA NAME=\"Name\" rows=2 cols=10></textarea></div>  

Was an diesem Code muß ich ändern, damit er sich nicht mehr auf das Element im DIV bezieht, das zu Begin der Seite steht, sondern ausschließlich auf dieses zitierte hier im Code?
ich habe schon mit span herumgespielt, aber ich kriegs nicht hin.

Seit freundlichst gegrüßt von Norman

  1. Was an diesem Code muß ich ändern, damit er sich nicht mehr auf das Element im DIV bezieht, das zu Begin der Seite steht, sondern ausschließlich auf dieses zitierte hier im Code?

    Diese Frage solltest du immer an den Validator zuerst richten.
    Als Plugin für FF http://users.skynet.be/mgueury/mozilla/
    Offizieller Service: http://validator.w3.org/

    mfg Beat

    --
    ><o(((°>           ><o(((°>
       <°)))o><                     ><o(((°>o
    Der Valigator leibt diese Fische
  2. Hallo,

    Du solltest exakter angeben, <http://de.selfhtml.org/css/formate/zentrale.htm@title=was Du formatieren> möchtest.

    Ansonsten haben scripte und CSS eigentlich nichts im Body verloren und gehören in den <head> oder, besser, in eigene Dateien.

    --
    "Die Diebesgilde beklagte sich darueber, dass Mumm in aller Oeffentlichkeit behauptet hatte, hinter den meisten Diebstaehlen steckten Diebe."
          - T. Pratchett
    1. @@Steel:

      nuqneH

      Ansonsten haben scripte und CSS eigentlich nichts im Body verloren

      <script type="text/javascript>[code lang=javascript]document.body.className += " js";</script>[/code]

      steht selbstverständlich (als erstes) im 'body'.

      und gehören in den <head> oder, besser, in eigene Dateien.

      Und die Referenzen auf externe JavaScript-Ressourcen gehören vorzugsweise als letztes in den 'body'. [PERFORMANCE-BP2]

      Qapla'

      --
      Alle Menschen sind klug. Die einen vorher, die anderen nachher. (John Steinbeck)
      1. <script type="text/javascript>[code lang=javascript]document.body.className += " js";</script>[/code]

        steht selbstverständlich (als erstes) im 'body'.

        Ich hab' in der letzten Zeit ausprobiert im html-Element eine Klasse "js-on" hinzuzufügen - das JavaScript hierzu findet sich im head-Element.

        Das ist zwar nicht valide - alle von mir getesteten Browser hatten kein Problem damit und der Validator kriegt vom JavaScript ja nix mit :)

        Die Methode habe ich gewählt, weil dich dadurch das body-Element durch Klassen in verschiedene Layouts einteilen kann.

        .js-on .layout1 ist so als Selektor möglich - beide Klassen im HTML-Element würden aber zu einem Problem führen, da der gute alte Internet Explorer damit nicht zurecht kommt.

        Hat hierzu jemand Einwände oder Bedenken - bzw. Szenarien bei denen ich hiermit scheitere?

        1. @@suit:

          nuqneH

          Das ist zwar nicht valide - alle von mir getesteten Browser hatten kein Problem damit

          In HTML 5 darf auch 'head' @class haben. [HTML5 §3.2.2] Ich würde keine Probleme in den Tagsoup-Parsern der aktuellen und künftigen Browser sehen.

          Hat hierzu jemand Einwände oder Bedenken

          Cheatah. Vermutlich unbegründet.

          Qapla'

          --
          Alle Menschen sind klug. Die einen vorher, die anderen nachher. (John Steinbeck)
          1. Hat hierzu jemand Einwände oder Bedenken
            Cheatah. Vermutlich unbegründet.

            Darum auch meine Frage - ich habe ja dasselbe bedenken. Allerdings "funzt" die Sache wie gesagt in jedem für meine Zwecke relevanten Browser.

  3. Mahlzeit Norman,

    Eines meiner Elemente, das in ein DIV eingeschlossen ist, wird nicht dargestellt,

    Welches Deiner Elemente meinst Du? Das <textarea>? Dann sag das doch, anstatt Deine Leser raten zu lassen.

    weil im weiteren Verlauf der Seite folgender Code steht:

    ... der grundfalsch ist: alle \ gehören eliminiert! (Zitat 1353)

    [code lang=php]

    PHP-Code? Wo?

    function show(a,b) {
    document.getElementById(a).style.display = "block";
    document.getElementById(b).style.display = "none";
    }

    Hiermit soll vermutlich das Element, dessen ID Du als ersten Parameter übergibst, angezeigt und das Element, dessen ID Du als zweiten Parameter übergibst, ausgeblendet werden? Behalten wir das also erstmal im Hinterkopf ...

    <style type="text/css">
    div { display:none; }
    </style>

    Abgesehen davon, dass <http://de.selfhtml.org/html/referenz/elemente.htm#style@title=<style>-Elemente nur im <head> vorkommen dürfen> (wovon in Deinem Code nichts zu sehen ist), werden hier alle <div>-Elemente generell ausgeblendet.

    <input type="Radio" name="Favorit" value="ja" id="r0" onclick="show('d0','d1')" checked>ja

    Wenn also jemand diesen Knopf drückt, wird das Element mit der ID "d0" angezeigt (was bei einem leeren <div> allerdings extrem sinnfrei ist) und dasjenige mit der ID "d1" ausgeblendet. Soll das passieren?

    <input type="Radio" name="Favorit" value="nein" id="r1" onclick="show('d1','d0')">nein<BR>

    S.o. - nur umgekehrt.

    <div id="d0"></div>

    Was soll dieses leere Element bewirken?

    Was an diesem Code muß ich ändern, damit er sich nicht mehr auf das Element im DIV bezieht, das zu Begin der Seite steht, sondern ausschließlich auf dieses zitierte hier im Code?

    1. Wer soll sich beziehen? Der Code?

    2. Was meinst Du mit "sich beziehen"? Sollen nicht mehr alle <div>-Elemente ausgeblendet werden? Dann ändere das doch einfach.

    3. Was für Elemente stehen "zu Beginn der Seite"? Warum enthältst Du uns offenbar für das Verständnis des Zusammenhangs wichtige Teile des Codes vor?

    4. Wenn Du nur bestimmte Elemente ansprechen willst, versuche es mit <http://de.selfhtml.org/http://nt-iis01/selfhtml/html/referenz/attribute.htm#universalattribute@title=Klassen oder IDs>.

    ich habe schon mit span herumgespielt, aber ich kriegs nicht hin.

    Naja, spielen ist meistens wenig zielführend und erfolgversprechend. Wie wäre es stattdessen mit einer vernünftigen Fehlerursachenforschung?

    MfG,
    EKKi

    --
    sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
    1. Wenn also jemand diesen Knopf drückt, wird das Element mit der ID "d0" angezeigt (was bei einem leeren <div> allerdings extrem sinnfrei ist) und dasjenige mit der ID "d1" ausgeblendet. Soll das passieren?

      Hi EKKI,

      ja genau das soll passieren. Ich frage den User, ob er einen Favoriten in einem bestimmten Game hat. Wenn nein, kann er ein anderes Game eintragen. Das funktioniert ganz gut.

      1. Was für Elemente stehen "zu Beginn der Seite"? Warum enthältst Du uns offenbar für das Verständnis des Zusammenhangs wichtige Teile des Codes vor?

      Ich dachte, es reicht als Information, dass es auch in einem DIV steht und auch ausgeblendet wird. Das Problem ist also, ich weiß nicht, wie ich ein DIV nur auf ein bestimmtes Element beziehe.

      1. Wenn Du nur bestimmte Elemente ansprechen willst, versuche es mit <http://de.selfhtml.org/http://nt-iis01/selfhtml/html/referenz/attribute.htm#universalattribute@title=Klassen oder IDs>.

      Das wäre die Antwort gewesen. Wenn der Link funktionieren würde ;-)

      Dank dir. Norman

      1. Mahlzeit Norman,

        Ich dachte, es reicht als Information, dass es auch in einem DIV steht und auch ausgeblendet wird.

        Nein - wieso sollte das ausreichen? Dass alle <div>-Elemente ausgeblendet werden (und damit auch ihr Inhalt), ist ja durch die CSS-Anweisung in Deinem Code offensichtlich.

        Das Problem ist also, ich weiß nicht, wie ich ein DIV nur auf ein bestimmtes Element beziehe.

        Was verstehst Du unter "ein DIV nur auf ein bestimmes Element beziehen"? Bitte beschreibe Dein Problem so, dass man es auch verstehen kann.

        1. Wenn Du nur bestimmte Elemente ansprechen willst, versuche es mit <http://de.selfhtml.org/http://nt-iis01/selfhtml/html/referenz/attribute.htm#universalattribute@title=Klassen oder IDs>.

        Das wäre die Antwort gewesen. Wenn der Link funktionieren würde ;-)

        Oh ... sorry, ver-copy-n-pastet - hier nochmal korrekt: <http://de.selfhtml.org/html/referenz/attribute.htm#universalattribute@title=Klassen oder IDs>

        MfG,
        EKKi

        --
        sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|