1

所以我正在制作一个网站,并在页面中移动了一些脚本,突然之间,一些脚本停止在我的客户端 PC 上运行。我不得不做一些尝试,它终于奏效了,但我不知道是什么导致了问题。

这是它不工作时的结构

<html>
<head>
<script type='text/javascript' src='somepath/script/jquery.js'></script>
<script type='text/javascript'>
//some custom jquery script
</script>
</head>
<body>
....lots of stuff
</body>
</html>
<script type='text/javascript' src="sompath/some_jquery_plugin.js'></script>
<script type='text/javascript'>
//some custom jquery script
</script>

这是它工作时的结构

<html>
<head>
<script type='text/javascript' src='somepath/script/jquery.js'></script>
<script type='text/javascript'>
//some custom jquery script
</script>
</head>
<body>
....lots of stuff
</body>
</html>
<script type='text/javascript' src='somepath/script/jquery.js'></script>
<script type='text/javascript' src="sompath/some_jquery_plugin.js'></script>
<script type='text/javascript'>
//some custom jquery script
</script>

即注意最后包含的附加 jquery.js....

什么可能的原因导致了这种情况?特别是因为它在所有浏览器上都可以在我的系统上运行,但不能在我的客户端上运行。

** *更新* ** * **** 我认为 jquery 在中间某处停止工作......即我最后有这个脚本

$('#start').val('0000.00.00 00:00');
$('#end').val('0000.00.00 00:00');

但是带有“start”和“end” id 的字段没有显示给定的数据。因此需要额外包含 jquery。

4

1 回答 1

0

第一个内联脚本是否使用jQuery.noConflict(或$.noConflict)?您的示例中的“”是否....lots of stuff加载了可能重新定义$对象的其他库,例如 Prototype?这可能是问题所在。

尝试将所有代码放在第二个脚本标签中:

(function ($) {
    // YOUR CODE HERE
}(jQuery));

(并删除第二个 jQuery 包含),看看是否有帮助。

如果您的代码已经包含在:

$(document).ready(function () {
    // your code
});

或者:

$(function () {
    // your code
});

然后尝试将其更改为:

jQuery(document).ready(function ($) {
    // your code
});

或者:

jQuery(function ($) {
    // your code
});

请注意,它是function ($)代替function ()

(您可能还需要将插件放在第一个 jQuery 下方,以防它不是以适用于$未定义或重新定义的方式编写的,但对于正确编写的插件通常不需要。)

于 2012-10-01T08:26:30.503 回答