javascript错误,需要双重包含jquery

标签 javascript jquery

因此,我正在制作一个网站,并在页面中移动了一些脚本,突然间,一些脚本停止在我的客户端 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。

最佳答案

第一个内联脚本是否使用 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 的下方,以防它不是以与 $ 未定义或重新定义一起使用的方式编写的,但通常这对于插件来说不是必需的写得好。)

关于javascript错误,需要双重包含jquery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12669558/

相关文章:

jquery - 最初隐藏显示 :block to be shown with jquery. show()

javascript - TS |元素隐式具有 'any' 类型,因为类型 'string' 的表达式不能用于索引类型 'Record<SecurityMode, boolean>'

选中 Jquery 复选框在单击按钮时获取 attr id

javascript - 错误 : NS_ERROR_FAILURE in firefox while use getBBox()

javascript - 如何使用jquery在页面上显示特定的div id?

javascript - 从当前聚焦的文本区域记录值

javascript - 在传单中重新绘制一个矩形

jquery - 使用 $(window).height 作为动画值

javascript - 如何使用带有 angular.js 和 Angular Material 的 ngif 从 DOM 中隐藏元素?

javascript - 如何使用 AngularJS 在浏览器 cookie 中存储身份验证承载 token