我对jQuery很新。我在项目的母版页中引用jQuery时遇到了问题(您可以在下面找到我的母版页的一部分)。我想在页面中使用datepicker,所以我在另一组引用(在我的项目中为任何其他jquery)添加了一组引用(jQuery ui和css),但是当我运行它时,它一直给我“ jQuery未定义“警报。
有趣的是,如果我将datepicker的refs组移到另一组之后(就像下面显示的顺序一样),它就能正常工作。我不知道它是否与呈现页面时的顺序有关。任何信息,将不胜感激。
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>
<asp:ContentPlaceHolder ID="TitleContent" runat="server" />
</title>
<script type="text/javascript" src="../../Scripts/jquery-1.7.2.min.js"></script>
<link href="../../Content/Site.css" rel="Stylesheet" type="text/css"/>
<!--date picker-->
<script type="text/javascript" src="../../Scripts/jquery-ui-1.8.22.custom.min.js"></script>
<link href="../../Content/jquery-ui-1.8.22.custom.css" rel="Stylesheet" type="text/css"/>
<!--date picker-->
</head>
答案 0 :(得分:0)
是的,JavaScript被“自上而下”解析。
所有依赖项都需要在依赖引用之前引用。
答案 1 :(得分:0)
按照DOM中遇到script
标记的顺序执行JavaScript(默认情况下) - 如果在加载其依赖项之前加载某个具有依赖项的库,则会出现错误(如您所发现的)< / p>
请参阅:http://www.whatwg.org/specs/web-apps/current-work/multipage/scripting-1.html#attr-script-async
使用这些属性可以选择三种可能的模式。如果存在async属性,则脚本一旦可用就会异步执行。如果async属性不存在但是存在defer属性,则在页面完成解析时执行脚本。 如果两个属性都不存在,则在用户代理继续解析页面之前立即获取并执行脚本。
强调我的