我正在使用django-debug-toolbar
(最新版本,v1.2.1)并且我在控制台中不断收到此错误:
Empty string passed to getElementById()
对于 jQuery 中的这段代码(第 2757 行):
...
// HANDLE: $(#id)
} else {
elem = document.getElementById( match[2] );
...
我单击的调试工具栏中的每个链接都会再次出现此警告。
当我注释掉我的主要 jQuery 源文件时,调试工具栏工作。此外,在 Django 管理员中,它运行良好,大概是因为 Django 管理员使用了不同的获取 jQuery 的方法。
我尝试了@Carlton Gibson 的回答,但这并不能解决我的问题。我也尝试过本地 jQuery 和 CDN 以及几个不同的版本,但无济于事......
我尝试了不同版本的 jQuery 并使用django-debug-toolbar
. 我被困住了,我真的很喜欢这个工具,并希望它为我工作。
编辑
由于我收到了一些额外的评论和答案,我想我会进行编辑以解释我尝试过的内容。我尝试了所有建议都没有成功。但是,目前,我从另一篇关于 RequireJS 的帖子中看到另一个错误,并且django-debug-toolbar
:
GET http://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js [HTTP/1.1 304 Not Modified 133ms]
ReferenceError: jQuery is not defined localhost:8000:119
TypeError: djdt is undefined toolbar.js:297
Empty string passed to getElementById()
即使 jQuery 已加载并且我告诉django-debug-toolbar
使用我的版本(带有DEBUG_TOOLBAR_CONFIG = { 'JQUERY_URL': '', }
),我仍然收到错误并且 DjDT 无法正常工作。这一次,它甚至没有出现,因为TypeError
.
编辑
这base.html
是导入 JS 的部分。请记住,这是一个快照,它已经发生了很大变化。
<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js" defer></script>
<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js" defer></script>
我还有一个我正在使用的返回顶部小部件,这可能是罪魁祸首。由于我使用此代码已经很长时间了,所以我从不认为这是一个问题,但现在我怀疑它可能是。此外,由于该错误与id
脚本使用有关,因此class
我将其关闭。但是当我注释掉它时,DjDT 就可以工作了。
在本文的帖子的帮助下,我解决了这个问题。不知道它与 . 有什么关系id
,但我在与a
选择器一起使用的返回顶部小部件中发生了冲突。我改成了class
,它正在工作。我在两个项目中进行了测试,它似乎是固定的。感谢所有的帮助!