Div wird nicht dargestellt
Norman
- css
0 Beat0 Steel0 EKKi
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
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
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.
@@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'
<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?
@@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'
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.
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
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.
- 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.
- 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
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.
- 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