JavaScript/jQuery - "$ is not defined- $function()"
JavaScript/jQuery - "$ is not defined- $function()" error
我正在尝试运行JavaScript/jQuery函数,Firebug收到错误:
$ is not defined $(function()".
JavaScript 代码放置在一个名为 core.js
的文件中,并由 index.php
引用。导致此错误的原因是什么?
JavaScript:
<script type="text/javascript">
var formObject = {
run : function(obj) {
if (obj.val() === '') {
obj.nextAll('.update').html('<option value="">----</option>').attr('disabled', true);
} else {
var id = obj.attr('id');
var v = obj.val();
jQuery.getJSON('/mod/update.php', { id : id, value : v }, function(data) {
if (!data.error) {
obj.next('.update').html(data.list).removeAttr('disabled');
} else {
obj.nextAll('.update').html('<option value="">----</option>').attr('disabled', true);
}
});
}
}
};
$(function() {
$('.update').live('change', function() {
formObject.run($(this));
});
});
</script>
PHP/HTML
<html>
<select name="main" id="category" class="update">
<option value="">Select one</option>
<? if (!empty($list)) { ?>
<? foreach($list as $row) { ?>
<option value="<?php echo $row['id']; ?>">
<? echo $row['name']; ?>
</option>
<? } ?>
<? } ?>
</select>
</html>
你一定没有让 jQuery 可用于你的脚本。
将此添加到文件顶部:
<script type="text/javascript" src="https://code.jquery.com/jquery-1.7.1.min.js"></script>
此问题与未正确添加到 PHP/JSP/ASP 文件中的 jQuery/JavaScript 文件有关。这将出去并从源代码获取jQuery代码。您可以下载它并在服务器上本地引用它,这会更快。
或者可以直接将其链接到jQuery或GoogleCDN或MicrosoftCDN。
如何将jQuery添加到您的网页
尝试:
(function($) {
$(function() {
$('.update').live('change', function() {
formObject.run($(this));
});
});
})(jQuery);
通过使用这种方式,您可以确保全局变量 jQuery 将绑定到闭包中的"$"。只需确保jQuery通过插入以下内容正确加载到页面中:
<script type="text/javascript" src="http://code.jquery.com/jquery-1.7.1.min.js"></script>
将"http://code.jquery.com/jquery-1.7.1.min.js"替换为 jQuery 源代码在页面上下文中所在的路径。
这可能对某人有用:
如果您已经获得了 jQuery,但仍然收到此错误,请检查您在使用它的 js 之前包含 jQuery,特别是如果您在 C# 中使用 @RenderBody() ASP.NET
如果在 @RenderBody() 调用的视图中包含 js,则必须在 @RenderBody() 之前包含 jQuery。
你需要在你的页面上包含jQuery库。
您可以在此处下载jQuery并自己托管,也可以从外部来源(如Google或Microsoft)进行链接。
谷歌的:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
Microsoft的:
<script type="text/javascript" src="http://ajax.microsoft.com/ajax/jquery/jquery-1.6.2.min.js">
包含 jquery.js如果包含它,请在任何其他 JavaScript 代码之前加载它。
我已经解决了如下。
import $ from 'jquery';
(function () {
// ... code let script = $(..)
})();
我使用 Asp.Net Core 2.2与MVC和Razor cshtml我的 JQuery 在布局页面中被引用我需要将以下内容添加到我的视图.cshtml中:
@section Scripts {
$script-here
}
如果你在添加jQuery之前尝试在你的Electron应用程序中使用jQuery,你应该把它添加到你的模块中:
<script>
if (typeof module === 'object') {
window.module = module;
module = undefined;
}
</script>
<script src="js/jquery-3.5.1.min.js"></script>
- 铬:“;未捕获的语法错误:意外的标记:"
- 可以设置“;文件名"发生错误时显示的内联脚本标记的
- JS表单提交"无法使用Chrome数据保护程序加载此页面.尝试重新加载页面.调试信息:POST CISmtuK
- 检测电话窃听,即:<a href="电话:xxx">在UIWebview上
- reactRedux is not defined
- 使用“+="操作人员
- //而不是在src=“”上使用http://"属性
- "未捕获的语法错误:意外的标记}"
- 可以<脚本类型=“;text/javascript”>window.location=“/"</
- "实例范围”;TypeScript类的getter/setter
- Javascript复选框函数:;缺少:在属性id之后"
- ReferenceError: not defined
- "“;变量未引用正确的对象
- ReferenceError: cordova is not defined @ng-cordova.min.js:7
- "日期“;AJAX请求返回的类型值未定义
- 得到"TypeError:无法读取属性'filename'未定义的“;调用“npm start
- Soundcloud api"未捕获的类型错误:无法读取属性'uri'“未定义”;
- "工具提示"jQuery插件坏了
- "锻造;React中的表达式
- JavaScript/jQuery - "$ is not defined- $function()"