Javascript:如何修复由 & 引起的 W3 验证错误
有什么方法可以修复 JavaScript & 的错误吗? w3 验证中的原因?问题是我必须使用 &&在 if 语句中,这两个 && 会导致 w3 验证出错。
编辑: 与“<”同样的问题和“>”。
Is there any way to fix the error that a JavaScript & causes in w3 validation? The problem is that i have to use && in a if statement and these two &&'s causes errors in w3 validation.
EDIT:
Same problem with "<" and ">".
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
您可以做一些事情。
您可以将其包含在 HTML 注释中:
您可以将其包含在 CDATA 部分中:
您可以将其包含在文件中:
There are a few things you can do.
You can enclose it within HTML comments:
You can enclose it in a CDATA section:
You can include in in a file instead:
主要答案是:JavaScript 使用 JavaScript 文件,而不是 HTML 文件,并使用 script 标签的
src
属性。 (将所有 JS 合并到一个文件中,最小化、gzip 等以提高性能。)但是,如果绝对必要,您可以将 JavaScript 嵌入到 HTML 中。使用有效的、现代的 DOCTYPE,您不必求助于注释标签和 CDATA 部分。
有效的 HTML5 示例:
如果将 doctype 更改为,这也将验证为严格的 HTML4 请
注意,在这两种情况下,您都需要小心脚本中的结束标记 --
这会导致问题:
这通过在斜杠前面加上反斜杠(或者您可以将结束标记分解为单独的字符串文字):
但同样,基本答案是:当可以避免时,不要在 HTML 文件中嵌入 JavaScript,而应使用 JavaScript 文件。
The primary answer is: Use JavaScript files for JavaScript, not HTML files, and use the
src
attribute of script tags. (Combine all your JS into one file, minimize, gzip, etc. for performance.)But, you can embed JavaScript in HTML if absolutely necessary. Use a valid, modern DOCTYPE and you don't have to resort to comment tags and CDATA sections.
Valid HTML5 example:
That will also validate as HTML4 strict if you change the doctype to
Note that in both cases, you need to be careful about end tags in your script --
This causes the problem:
This solves the problem by prefacing the slash with a backslash (or you can break the end tag up into separate string literals):
But again, the basic answer is: Don't embed JavaScript within HTML files when you can avoid it, use JavaScript files for that.
根据您的描述,我怀疑您正在谈论 HTML 标记中事件属性内的脚本(例如 onclick)。在这种情况下,脚本代码需要进行 HTML 编码。以利亚一语中的。
例如:
您不需要在
块内执行此操作。
Based on your description, I suspect that you're talking about script that's inside an event property in an HTML tag (such as onclick). In that event, the script code needs to be HTML encoded. Elijah hit the nail on the head there.
For example:
You do not need to do that inside a
<script></script>
block.使用
&
转义&
,使用<
转义<
,以及> ;
与>
。Escape
&
with&
,<
with<
, and>
with>
.