为什么这不会验证(jquery 问题)?
在我的网站上,我使用 jquery 循环插件通过寻呼机进行幻灯片放映。 这个例子: http://malsup.com/jquery/cycle/pager.html
所以在在我的文档头部,我有一个类似于以下内容的脚本:
<script type="text/javascript">
$('#s4').before('<div id="nav">').cycle({
fx: 'turnDown',
speed: 'fast',
timeout: 3000,
pager: '#nav'
});
</script>
我的文档类型是 XHTML Strict。
当我尝试验证页面时,出现以下错误: “文档类型不允许此处使用元素“div”” 和 “省略了“div”的结束标记,但指定了 OMITTAG NO”,因为 div 标记未关闭。
有没有办法使用 jquery 并让它进行验证?
On my site I'm using the jquery cycle plugin for a slideshow with a pager.
This example:
http://malsup.com/jquery/cycle/pager.html
So in the head of my document, I have a script similar to:
<script type="text/javascript">
$('#s4').before('<div id="nav">').cycle({
fx: 'turnDown',
speed: 'fast',
timeout: 3000,
pager: '#nav'
});
</script>
My doc type is XHTML Strict.
When I try and validate the page, I get the following errors:
"document type does not allow element "div" here"
and
"end tag for "div" omitted, but OMITTAG NO was specified" because the div tag isn't closed.
Is there a way to use the jquery and get it to validate?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
实际上,您的代码未验证的原因是因为
XHTML
中不允许使用某些字符(例如“<
”等),因此必须将它们包装在中
部分(由于XHTML
中的 >CDATAXML
解析规则的严格性质)。HTML
注释标记(具体来说,双破折号“--
”)也是不允许的,也不应该出现在SCRIPT
块中,因为它们不是有效可理解的 JavaScript。 因此,您不应使用HTML
注释标记,而应将代码包装在“CDATA 标记部分”内以通过验证器,并且不会混淆 JavaScript 引擎:请查看以下页面以获取更多信息:
Actually, the reason your code is not validating is because certain characters are not allowed in
XHTML
(e.g. "<
", etc.) so they must be wrapped inCDATA
sections inXHTML
(due to the strict nature ofXML
parsing rules).HTML
comment markers (specfically, the double dashes "--
") are also not allowed and shouldn't appear in aSCRIPT
block since they're notvalidunderstandable JavaScript. So instead of usingHTML
comment markers, you should wrap your code inside a "CDATA marked section" to pass the validator and not confuse the JavaScript engines:Take a look at the following pages for more information:
如果您将 HTML 注释标签放入脚本块中,验证器将忽略该代码块并正确验证。
If you put HTML comment tags into your script block the validator will ignore that block of code and validate correctly.
您可以通过执行以下操作来消除错误:
这应该使验证器无法检测脚本标记内的任何 HTML。 我 - 我会忍受这个错误,因为我知道这是验证器的问题而不是我的代码的问题。
You could probably get rid of the errors by doing:
This should keep the validator from detecting any HTML inside your script tag. Me - I'd live with the error, knowing it was a problem with the validator not my code.