我一直在尝试通过W3C在XHTML 1.0 Strict中验证我的网站代码。
我的上一个错误我现在无法修复:
"document type does not allow element "a" here"
这是因为我通过以下代码“隐藏”了机器人的电子邮件地址:
<td><script type="text/javascript">var name="contact";var domain="theriff.fr";document.write('<a href="mail'+'to:'+name+'@'+domain+'">contact@theriff.fr</a>');</script></td>
有谁知道我怎么能保持电子邮件地址有点“隐藏”,并且仍然在W3C验证最后一个错误?
提前感谢!
答案 0 :(得分:1)
对于XML解析器,看起来你在<a>
元素中有一个<script>
元素(解析器不懂JavaScript)。
在<script>
元素中声明CDATA section:
<script type="text/javascript">
// <![CDATA[
// JavaScript here
// ]]>
</script>
这告诉解析器不解析(即解释为XML)CDATA部分内部的内容。分隔符之前的//
可能是必要的,以防止JS引擎在浏览器将它们传递给JS引擎时解释它们。
另请参阅:Properly Using CSS and JavaScript in XHTML Documents。
旁注: You can't use document.write
in XHTML documents:
注意:
document.write
(如document.writeln
)在XHTML文档中不起作用(错误控制台上会出现“操作不受支持”(NS_ERROR_DOM_NOT_SUPPORTED_ERR)错误)。如果打开具有.xhtml文件扩展名的本地文件或使用application / xhtml + xml MIME类型提供的任何文档,则会出现这种情况。有关详细信息,请参阅W3C XHTML FAQ。