JSLint 警告“文档”在 jQuery(document).ready 上没有完全定义
Posted
技术标签:
【中文标题】JSLint 警告“文档”在 jQuery(document).ready 上没有完全定义【英文标题】:JSLint warns that "document" is not fully defined on jQuery(document).ready 【发布时间】:2011-10-28 18:31:22 【问题描述】:我得到一个
'document' has not been fully defined yet.
$(document).ready(function ()
来自jsLint
的警告。
我明白为什么会发生这种情况,但我希望我的代码没有警告。
我的问题是 - 我如何在代码中解决这个问题(将文档分配给自身?var document=document
?)或者以其他方式使警告消失。
谢谢。
【问题讨论】:
为什么这是一个警告?document
已定义。这是 JSLint 中的错误吗?
因为,如果我理解正确的话,使用发生在document
的定义中。 IE - 变量在其定义中使用。类似于var x = 3 + x;
【参考方案1】:
你可以简单地使用
/*jslint browser:true */
在代码的开头假设一个浏览器。
【讨论】:
【参考方案2】:我认为您可以放心地忽略这一点。如果您不希望它显示,请像这样重写它
$(function ()
// Document is ready
);
$(function () )
和 $(document).ready(function () )
是 equivalent。
【讨论】:
【参考方案3】:使用简写:
$(function()
...
);
【讨论】:
【参考方案4】:如果您更愿意按照自己的方式保留代码,您可以告诉 JSlint 同意您的决定:
/*global document*/
$(document).ready(function ()
...
这表明document
已在别处定义。
【讨论】:
【参考方案5】:JSLint 要求您在选择器选项中使用浏览器。然后将定义文档。在这里使用 $ 将无济于事......无论如何都不会在 JSLint 中使用。
【讨论】:
【参考方案6】:在根文件夹上创建一个 .jsintrc,使用:
"browser": true
你可以在JSHint Options看到所有选项
【讨论】:
以上是关于JSLint 警告“文档”在 jQuery(document).ready 上没有完全定义的主要内容,如果未能解决你的问题,请参考以下文章
在 Sublime Text 2 中隐藏不必要的 JSLint 警告