在我的母版页上(对于我网站中的所有页面),我有一个ToolkitScriptManager。
在我的内容页面上,有一系列可折叠功能的超链接和div。
显示/隐藏面板的代码的工作方式如下:
$(document).ready(function() {
// Hookup event handlers and execute HTML DOM-related code
$('#nameHyperLink').click(function() {
var div = $('#nameDiv');
var link = $('#nameHyperLink');
if (div.css('display') == 'none') {
link.text('Hide Data');
div.show('100');
}
else {
link.text('Show Data');
div.hide('100');
}
});
});
如果我在toolkitscriptmanager中的jQuery 1.4.2文件中包含一个ScriptReference,则javascript代码在页面上执行不正确(只有超链接的文本被更改,div实际上没有显示。)但是,如果我不要在ToolkitScriptManager中包含jQuery文件,而是将其包含在内容页面中,它可以正常工作。
我是一个Javascript / jQuery新手,这根本没有意义。这是怎么回事?
答案 0 :(得分:2)
脚本包含的定位对于jQuery ref非常重要。如果你看一下你生成的源代码,我敢打赌标签位于脚本函数()之下。您应该确保jQuery引用尽早在页面源中获取。
尝试将jQuery库引用移动到主页的头部,这应该可行。否则发布一些消息来源!
答案 1 :(得分:0)
就像Tj所说......应该在你的母版页的头部。此外,很高兴链接到谷歌的这个库的版本,因为你的用户可能已经缓存了它。例如,查看此页面的来源。
这里最可能的两个原因是$尚未被定义(参见Tj的答案)和$ get由另一个库定义,例如原型。
我强烈建议你研究一下使用Firebug的javascript调试器,或者至少看看Firefox的内置错误控制台(工具 - >错误控制台)。这将为您提供一个更好的线索,除了“它不起作用”之外发生了什么。