我正在使用django-debug-toolbar(最新版本,v1.2.1),我在控制台中不断收到此错误:
Empty string passed to getElementById()
Run Code Online (Sandbox Code Playgroud)
对于jQuery中的这段代码(第2757行):
...
// HANDLE: $(#id)
} else {
elem = document.getElementById( match[2] );
...
Run Code Online (Sandbox Code Playgroud)
我单击的调试工具栏中的每个链接都会再次出现此警告.
当我注释掉我的主要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()
Run Code Online (Sandbox Code Playgroud)
即使加载了jQuery并且我告诉django-debug-toolbar我使用我的版本(with 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>
Run Code Online (Sandbox Code Playgroud)
我还有一个我正在使用的返回顶部小部件可能是罪魁祸首.由于我一直在使用这段代码,我从未想过这是一个问题,但现在我怀疑它可能是.此外,由于错误与 …
我写在留言板上,显示 为空格(正确如此).但偶尔我想实际编写NBSP,因为 它没有被渲染为空格.有没有办法逃避这个,以便它可以写?
注意:似乎是一个合理的问题 - 想知道为什么我被标记为它?
我有2个下拉列表,我想这样做,当有人从dropdown1中选择例如值2时,dropdown2自动更改为值2.这是否可以使用jquery?
<select id="dropdown1">
<option value="1">Item1</option>
<option value="2">Item2</option>
<option value="3">Item3</option>
</select>
<select id="dropdown2">
<option value="1">Item1</option>
<option value="2">Item2</option>
<option value="3">Item3</option>
</select>
Run Code Online (Sandbox Code Playgroud) 我浏览了StackOverflow并发现了几个问题/答案,但是我的情况并不准确.我跟着这个例子:
http://www.javascriptkit.com/javatutors/selectcontent2.shtml
我的JavaScript代码是这样的:
var cityList = document.selectionForm.cityListBox;
var cities = new Array();
cities[0] = "";
cities[1] = ["Eugene|eugeneValue", "Portland|portlandValue", "Salem|salemValue"];
cities[2] = ["Bellingham|bellinghamValue", "Onalaska|onalaskaValue", "Seattle| seattleValue"];
function updateCities(cityGroup)
{
cityList.options.length = 0;
if (cityGroup > 0)
{
for (i = 0; i < cities[cityGroup].length; i++)
{
cityList.options[cityList.options.length] = new Option(cities[cityGroup][i].split("|")[0], cities[cityGroup][i].split("|")[1]);
}
}
}
Run Code Online (Sandbox Code Playgroud)
我的HTML代码如下:
<form name="selectionForm">
<select name="stateListBox" size="3" style="width: 150px" onchange="updateCities(this.selectedIndex);">
<option selected>Select a State >></option>
<option value="oregon">Oregon</option>
<option value="washington">Washington</option>
</select>
<select name="cityListBox" size="3" style="width: 150px" onclick="alert(this.options[this.options.selectedIndex].value);">
</select> …Run Code Online (Sandbox Code Playgroud) 我可能错过了一些简单的东西,但我似乎在这里被阻止了...我有一个带有两个表的MySQL数据库,每个表有几行.所以目标是查询数据库并在表中显示结果,所以我这样开始:
$query = "SELECT name, email, phone FROM users";
然后我有这个PHP代码:
$result = mysql_query($query);
然后,我使用它来获取数组:
$row = mysql_fetch_array($result);
此时,我想我可以简单地遍历$row数组并在表格中显示结果.我已经有了一个函数来循环和显示表,但不幸的是,在它进入函数之前,数组似乎是不完整的.
要解决这个问题,我使用这个:
for ($i = 0; $i < count($row); $i++) {
echo $row[$i] . " ";
}
Run Code Online (Sandbox Code Playgroud)
此时,我只获取数据库中的第一行,还有其他3个未显示.非常感谢任何帮助.
我遇到了一些对我没用的东西.请参阅sortedwith range和的使用lambda:
sorted(range(-5, 6), key=lambda x: x * x)
Run Code Online (Sandbox Code Playgroud)
哪个在Python shell中输出:
[0, -1, 1, -2, 2, -3, 3, -4, 4, -5, 5]
Run Code Online (Sandbox Code Playgroud)
现在,对于我的生活,我不明白!我一直在玩弄sorted,lambda以及range和它没有任何意义.例如,如果range在for循环中运行该位,则会得到如下内容:
>>> for i in range(-5, 6):
... print(i)
-5
-4
...
0
...
4
5
Run Code Online (Sandbox Code Playgroud)
并且lambda位:
>>> (lambda x: x * x)(-5)
25
Run Code Online (Sandbox Code Playgroud)
但把它们放在一起......我不明白如何使用key这种方式使命令独立于符号.
但这对我有意义:
>>> sorted(range(-5, 6), key=lambda x: abs(x))
[0, -1, 1, -2, 2, -3, 3, -4, 4, …Run Code Online (Sandbox Code Playgroud) 我有一个较旧的项目,我修改了许多文件(超过一百个)。删除了几个,重命名了一大堆,删除了很多等等。这批更改中可能有 10 个或更多的提交值得。例如,如何编写提交命令以仅选择那些重命名的文件:
git commit "all renamed files" -m "Renamed files."
我想尽量避免做这样的事情:
git commit file1 file2 file3 -m "Renamed files."
……因为太多了。我也可以提交一个价值 ( git commit folder1 . . .)的文件夹,但不幸的是,文件夹中有一些文件不能提交。
我已经接受了提供的答案,但不得不稍微修改命令:
git status --porcelain | grep -E '^(.R|R.)' | \
cut -b4- | awk '{print $1}' | xargs git commit -m "Bulk renamed files."
Run Code Online (Sandbox Code Playgroud)
这样做的原因是因为运行git status --porcelain | grep -E '^(.R|R.)' | cut -b4-,例如,输出(这里的一条线来证明)source/__init__.py -> site/__init__.py。当我xargs用来运行commit命令时,它不被接受,大概是因为-> . . .零件。所以我awk在这里只选择第一个块,这很好用。谢谢!
jquery ×2
django ×1
escaping ×1
for-loop ×1
git ×1
git-commit ×1
html ×1
javascript ×1
lambda ×1
mysql ×1
php ×1
python ×1
python-3.x ×1
regex ×1
rename ×1
render ×1
selectlist ×1
sorting ×1