我刚刚通过w3c HTML验证器运行我正在处理的网站的主页,它返回了3个错误和2个警告。我看了看他们,但看不出他们为什么会造成问题。我已将它们粘贴在下面(我删除了URL /字符串等,因为该网站尚未准备好公开)。顺便说一句,这是针对XHTML Transitional验证的。
UL返回时出现以下错误:end tag for "ul" which is not finished <ul id='tabs'></ul>
<ul id='tabs'>
<li>
<a href="/en/folder/folder/search?categories[]=cat1" class="tab1" title="tab_title">
<img alt="img_alt" src="img_src" />
<span>
tab1_text
</span>
</a>
</li>
<li>
<a href="/en/folder/folder/search?categories[]=cat2" class="tab2" title="tab_title">
<img alt="img_alt" src="img_src" />
<span>
tab2_text
</span>
</a>
</li>
<li>
<a href="/en/folder/folder/search?categories[]=cat3" class="tab3" title="tab_title">
<img alt="img_alt" src="img_src" />
<span>
tab3_text
</span>
</a>
</li>
<li>
<a href="/en/folder/folder/search?categories[]=cat4" class="tab4" title="tab_title">
<img alt="img_alt" src="img_src" />
<span>
tab4_text
</span>
</a>
</li>
<li>
<a href="/en/folder/folder/search?categories[]=cat5" class="tab5" title="tab_title">
<img alt="img_alt" src="img_src" />
<span>
tab5_text
</span>
</a>
</li>
<li>
<a href="/en/folder/folder/search?categories[]=cat6" class="tab6" title="tab_title">
<img alt="img_alt" src="img_src" />
<span>
tab6_text
</span>
</a>
</li>
<li>
<a href="/en/folder/folder/search?categories[]=cat7" class="tab7" title="tab_title">
<img alt="img_alt" src="img_src" />
<span>
tab7_text
</span>
</a>
</li>
<li>
<a href="/en/folder/folder/search?categories[]=cat8" class="tab8" title="tab_title">
<img alt="img_alt" src="img_src" />
<span>
tab8_text
</span>
</a>
</li>
</ul>
对于内联javascript,我得到2个错误和2个警告都是同一件事 - 我有一个简单的if语句&amp;&amp;并且验证器似乎将其视为HTML而不是javascript:character "&" is the first character of a delimiter but occurred as data
和xmlParseEntityRef: no name
<script type='text/javascript'>
if (weather_data != null && weather_data['data'] != null){
display_weather();
}
</script>
javascript位于文档末尾的body close标记之前。 如果你需要查看完整的来源,请告诉我,我可以发送它。
答案 0 :(得分:1)
XML不支持XHTML中的内部CDATA,而它们在HTML中没有,但您可能以文本/ html的形式提供XHTML,因此请参阅ampersands have special meaning的兼容性指南< / p>
至于:
“ul”的结束标记未完成
给定的
<ul id='tabs'></ul>
列表中至少包含一个列表项。我猜你用JavaScript填充它(因此你是ul
的第二个例子),但验证器并不关心它。
答案 1 :(得分:0)
不确定UL问题,但您可能希望将CDATA放在脚本周围。
答案 2 :(得分:0)
要验证内联Javascript,您需要将内容包装在CDATA标记中,并添加JS注释,以使其验证:
<script type='text/javascript'>
//<![CDATA[
if (weather_data != null && weather_data['data'] != null){
display_weather();
}
//]]>
</script>
我检查了您在W3C验证程序中发布的HTML列表片段,并成功验证为 HTML 4.01 Strict 和 XHTML 1.0 Strict 。所以问题出在其他地方。你可以发布一个指向整个页面的链接吗?