validator schimpft (und ich weiss nicht warum)
stefan
- html
hi,
ich hab' ein problem mit der validität meiner seiten. seit ich in mein online-tagebuch eine kommentar-funktion eingebaut habe, sind meine seiten nicht mehr valide. ich weiss aber beim besten willen nicht warum. zuerst einmal der code (ich hab' ihn etwas eingerückt, wegen der lesbarkeit):
----------------------------
<div class="tag">
<a name="31_07_02" class="anker">
.
</a>
<table class="datum" cellspacing="0" cellpadding="0">
<tr>
<tdclass="tag">
<h2 class="tag">
text
</h2>
</td>
<td class="zeit" nowrap>
<h2 class="zeit">
00:00
</h2>
</td>
</tr>
</table>
<p>
...text mit <br> und <a href="link.html>klick</a> drin...
[<a href="#hoch">hoch</a>]
[<a href="#runter">runter</a>]
<!-- kommentar-funktion anfang //-->
<script
type="text/javascript"
src="http://arnep.de/scripte/feedback/feedback.php?type=code&user=Stefan&msgid=31.07.2002"
language="JavaScript">
</script>
<noscript>
[<a
href="http://arnep.de/scripte/feedback/feedback.php?user=Stefan&msgid=dein%20kommentar">
Kommentieren
</a>]
</noscript>
<!-- kommentar-funktion ende //-->
<br>
</p>
</div>
----------------------------
der validator gibt folgenden fehler an:
"Error: end tag for element "P" which is not open; try removing the end tag or check for improper nesting of elements"
wobei er sich auf das </p> (vorletzte zeile) bezieht.
hier ist der link zum validator-test:
http://validator.w3.org/check?uri=http%3A%2F%2Fwww.your-boredom.de%2Fblog%2F02_09_02.shtml&charset=(detect+automatically)&doctype=(detect+automatically)
ich versteh nicht, was falsch sein soll (ich mach doch alle geöffneten tags nur wieder zu, und sonst nichts). ohne die kommentar-funktion war alles noch valide. liegt es vielleicht am javascript?
hilfe jeder art wäre phantastisch, denn ich bin wirklich ratlos.
danke im vorraus + tschÖ
*stefan
hi,
ich hab' ein problem mit der validität meiner seiten. seit ich in mein online-tagebuch eine kommentar-funktion eingebaut habe, sind meine seiten nicht mehr valide. ich weiss aber beim besten willen nicht warum. zuerst einmal der code (ich hab' ihn etwas eingerückt, wegen der lesbarkeit):
<p>
...
<noscript>
...
</noscript>
...
</p>
der validator gibt folgenden fehler an:
"Error: end tag for element "P" which is not open; try removing the end tag or check for improper nesting of elements"
wobei er sich auf das </p> (vorletzte zeile) bezieht.
hier ist der link zum validator-test:
http://validator.w3.org/check?uri=http%3A%2F%2Fwww.your-boredom.de%2Fblog%2F02_09_02.shtml&charset=(detect+automatically)&doctype=(detect+automatically)
ich versteh nicht, was falsch sein soll (ich mach doch alle geöffneten tags nur wieder zu, und sonst nichts). ohne die kommentar-funktion war alles noch valide. liegt es vielleicht am javascript?
p darf nur inline-Elemente enthalten. Beim ersten Blocklevel-Element wird das optionale endtag von p implizit ergänzt.
noscript ist ein blocklevel-Element.
Folglich ist an der Stelle, wo das </p> steht, kein p-Element mehr offen.
Dein (reduzierter) Code wird also so interpretiert:
<p>
...
</p> <!-- dieses Endtag wird implizit ergänzt! -->
<noscript>
...
</noscript>
...
</p>
Andreas
hi MudGuard,
erstmal danke für die fixe (und hilfreiche) antwort :)
p darf nur inline-Elemente enthalten. Beim ersten Blocklevel-Element wird das optionale endtag von p implizit ergänzt.
noscript ist ein blocklevel-Element.
Folglich ist an der Stelle, wo das </p> steht, kein p-Element mehr offen.
Dein (reduzierter) Code wird also so interpretiert:
<p>
...
</p> <!-- dieses Endtag wird implizit ergänzt! -->
<noscript>
...
</noscript>
...
</p>
ich hab' gerade mal <noscript style="display:inline"> ausprobiert, geht natürlich auch nicht (wäre ja auch zu schön gewesen). gibt es vielleicht eine andere möglichkeit etwas nur dann darzustellen, wenn kein javascript unterstützt wird? generell würde ich die funktion nämlich gerne im <p>-tag lassen können (schon allein meiner stylesheets wegen).
mfg
*stefan
hi,
p darf nur inline-Elemente enthalten. Beim ersten Blocklevel-Element wird das optionale endtag von p implizit ergänzt.
noscript ist ein blocklevel-Element.
ich hab mich ein bisschen über blocklevel-elemente schlau gemacht und herausgefunden, dass z.b. <map name="egal"> zwar ein inline-element ist, aber block-elemente enthalten darf. daher meine *lösung*:
<map name="egal"><noscript> ... </noscript></map>
ist zwar 100%tig nicht so gedacht, funktioniert aber auf allen browsern, die mir zur verfügung standen und ist valide.
tja, halt ein dirty trick: Mac Gyver hätts genauso gemacht ;)
tschÖ
*stefan
ich hab' ein problem mit der validität meiner seiten. seit ich in mein online-tagebuch eine kommentar-funktion eingebaut habe, sind meine seiten nicht mehr valide. ich weiss aber beim besten willen nicht warum. zuerst einmal der code (ich hab' ihn etwas eingerückt, wegen der lesbarkeit):
Das sind halt die blöden Folgefehler:
<tdclass="tag">
Das geht schon mal schief.
...text mit <br> und <a href="link.html>klick</a> drin...
Da geht ein " nicht zu.
der validator gibt folgenden fehler an:
"Error: end tag for element "P" which is not open; try removing the end tag or check for improper nesting of elements"
Der Validator in meinem ColdFusion Studio meckert schon an der richtigen Stelle:
The tag name: "TDCLASS="TAG"" not found in currently active versions.
hi Mulder,
Das sind halt die blöden Folgefehler:
<tdclass="tag">
Das geht schon mal schief.
...text mit <br> und <a href="link.html>klick</a> drin...
Da geht ein " nicht zu.
sorry, das waren nur tippfehler, die beim code-kürzen entstanden sind. in der original-datei http://www.your-boredom.de/blog/02_09_02.shtml sind die nicht.
Der Validator in meinem ColdFusion Studio meckert schon an der richtigen Stelle:
The tag name: "TDCLASS="TAG"" not found in currently active versions.
nee, das problem ist das <noscript> tags nicht innerhalb von <p> tags stehen dürfen (siehe antwort http://forum.de.selfhtml.org/?m=130619&t=23597). trotzdem danke für die mühe.
tschÖ
*stefan