W3C - 文档类型不允许此处的元素“a”

W3C - document type does not allow element "a" here

提问人:user3916429 提问时间:8/7/2014 最后编辑:Felix Klinguser3916429 更新时间:8/7/2014 访问量:596

问:

我一直在尝试通过 XHTML 1.0 Strict 中的 W3C 验证我的网站代码。

我的最后一个错误我现在无法修复:

"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+'">&#x63;&#x6F;&#x6E;&#x74;&#x61;&#x63;&#x74;&#x40;&#x74;&#x68;&#x65;&#x72;&#x69;&#x66;&#x66;&#x2E;&#x66;&#x72;</a>');</script></td>

有谁知道我如何保持电子邮件地址有点“隐藏”,并且仍然验证 W3C 中的最后一个错误?

提前致谢!

JavaScript XHTML W3C

评论

1赞 Jeremy J Starcher 8/7/2014
为什么使用 XHTML 而不是 HTML 4.01 strict 或 HTML5?
0赞 user3916429 8/7/2014
说实话,根本不知道,还有旧习惯......

答:

1赞 Felix Kling 8/7/2014 #1

对于 XML 解析器,看起来元素内有一个元素(解析器不理解 JavaScript)。<a><script>

在元素内声明一个 CDATA 部分<script>

<script type="text/javascript">
    // <![CDATA[
        // JavaScript here
    // ]]>
</script>

这会告诉解析器不要解析(即解释为 XML)CDATA 部分内的内容。如果浏览器将它们传递给 JS 引擎,则可能需要 before 分隔符来防止 JS 引擎解释它们。//

另请参阅:在 XHTML 文档中正确使用 CSS 和 JavaScript


旁注:您不能在 XHTML 文档中使用 document.write

注意:(like )在 XHTML 文档中不起作用(您将在错误控制台上收到“不支持操作”(NS_ERROR_DOM_NOT_SUPPORTED_ERR) 错误)。如果打开文件扩展名为 .xhtml 的本地文件,或者打开使用 application/xhtml+xml MIME 类型提供的任何文档,则会出现这种情况。有关详细信息,请参阅 W3C XHTML 常见问题解答document.writedocument.writeln

评论

0赞 user3916429 8/7/2014
完美而快速的回答,谢谢:)编辑已修复 // 我再次看到^^谢谢
0赞 Felix Kling 8/7/2014
@Pyro:提出问题后必须等待 15 分钟才能接受任何答案。
0赞 user3916429 8/7/2014
多年来从未遇到过任何这种类型的错误,并且使用 javascript 和 XHTML 类型:/我迷路了哈哈
0赞 Jeremy J Starcher 8/7/2014
@user3916429 XHTML 通常不是。除非你发送正确的文档类型和HTML标题,否则浏览器会认为你真的在使用HTML,这意味着它会把你的XHTML读作简单奇怪和写得不好的HTML。浏览器非常善于从写得不好的页面中找出意义,否则整个互联网都会崩溃。
0赞 user3916429 8/7/2014
是的,我明白,但我想有了这个,它应该知道它至少是 XHTML,'<!DOCTYPE HTML PUBLIC “-//W3C//DTD XHTML 1.0 Strict//EN” “w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">'