Javascript 读取“时出现类型错误”$(……)“敬酒”;
我正在用Django频道和websocket编写一个web应用程序,我想在websocket连接打开时动态创建引导toasts()。问题是出现了一个错误“UncaughtTypeError:$(…)。toast不是函数”。所以问题是如何阅读Javascript 读取“时出现类型错误”$(……)“敬酒”;,javascript,jquery,bootstrap-4,django-channels,Javascript,Jquery,Bootstrap 4,Django Channels,我正在用Django频道和websocket编写一个web应用程序,我想在websocket连接打开时动态创建引导toasts()。问题是出现了一个错误“UncaughtTypeError:$(…)。toast不是函数”。所以问题是如何阅读$('.toast').toast('show')Socket.onopen中的行(我不是很喜欢jQuery)。如果你有什么想法,我会很感激的 以下是js文件的一部分: var Socket = new ReconnectingWebSocket(ws_pa
$('.toast').toast('show')
Socket.onopen中的行(我不是很喜欢jQuery)。如果你有什么想法,我会很感激的
以下是js文件的一部分:
var Socket = new ReconnectingWebSocket(ws_path)
Socket.onopen = function (e) {
newToast();
$('.toast').toast('show');
};
function newToast(data) {
// create Bootstrap toast element
};
在html文件的头部,加载引导和jQuery:
<head>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>
</head>
PS:我已经尝试用jQuery替换美元符号。相同错误:未捕获类型错误:jQuery( 我也面临同样的问题。。。我能找到的唯一解决方案是使用谷歌的CDN
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
听起来像是$
被分配了jQuery以外的内容,或者当时没有加载引导JS库。请尝试console.log($)
,看看它能给您带来什么。@Yassine您的$
输出看起来与jQuery的别名一样正确。您的bootstrap.js
正在加载吗?我已经很久没有使用jQuery了,但这看起来像是jQuery方法的一个例子。如果您尝试console.log($('.toast'))
和console.log($('.toast').toast('show'))
,会怎么样。如果元素存在,第一个将返回length:1
。如果Boostrap js未加载,第二个应该会给您一个错误。您可以对该.toast
div执行其他操作吗?可能类似于:$('.toast').css('border','3px纯红')代码>如果这也不起作用,您的脚本可能在DOM准备就绪之前启动。我再次更新了答案。过来看。