Google Chrome开发者工具中控制台中的Jquery问题
Google Chrome开发者工具中控制台中的Jquery问题
当我尝试在谷歌浏览器的开发者工具中执行以下JQuery代码时:
$("#u_16_0").val("AJ College, Sivakasi")
我遇到了以下错误:
Uncaught Error: <[EX[["尝试使用id为\"%s\"的元素,但该元素在页面中不存在。","#u_16_0"]]]>(…)h @ LGuPoDEwQGD.js:36i @
LGuPoDEwQGD.js:36(anonymous function) @ VM580:1
请问有人能帮我解决这个问题吗?我已经验证了该元素在页面中存在。我的意思是,如果我只是在控制台中输入$("#u_16_0")
,该元素会被打印出来。
请查看下面链接中包含我谷歌浏览器版本信息的截图。
[
更新 - 1
我使用以下纯JavaScript代码成功完成了这个任务
document.getElementById("u_16_0").value="University of Cambridge"
更新 - 2
Amin基于jQuery的答案也起作用。因此,我接受了它作为答案并授予了悬赏。
Google Chrome开发者工具在控制台中使用jQuery时出现了问题。这是因为jQuery的$符号与其他库(如一些Facebook的js库)发生了冲突。解决方法是使用jQuery而不是$符号进行操作。例如:jQuery("#u_16_0").val("AJ College, Sivakasi")。若出现错误信息"Uncaught ReferenceError: jQuery is not defined",请确保jQuery库已正确引入。例如:。如果无法访问网页源代码,则可以将jQuery库文件的内容复制并粘贴到控制台中,然后按回车键执行。具体的jQuery库文件可以从code.jquery.com/jquery-1.12.4.min.js获取。
问题的原因是假设$
始终是jQuery,但实际情况并非如此。可以通过console.log($)
来查看$
的返回值,以确定是否为jQuery。
jQuery通常返回以下结果之一:
function (selector,context){return new jQuery.fn.init(selector,context)}
或者
function (a,b){return new n.fn.init(a,b)}
现在,任何人都可以将$
定义为任何内容。在Facebook上,它似乎是document.getElementById()
的别名,并具有一些检查功能:
function i(j){return h(j);}
运行$("contentCol")
将返回一个DOM元素。
而如果$
未定义,在Chrome开发者工具中,它是document.querySelector
的别名:
$(selector, [startNode]) { [Command Line API] }
因此,最后不要期望$
是jQuery。
解决方法:不要假设$
始终是jQuery。可以使用jQuery
或jQuery.noConflict()
来确保使用正确的jQuery版本。
问题:Google Chrome开发者工具中的控制台与Jquery不兼容
原因:Chrome控制台似乎无法访问内容脚本的执行环境。实际上,我们需要查看正确的位置,而不是下面的
解决方法:您需要选择chrome-extension://<your extension id>
,而不是下面的
图片:
动画:
在Chrome开发者工具的控制台选项卡中,可以通过底部的两个下拉框来更改开发者工具控制台的执行环境。
左侧下拉框用于更改帧上下文(顶层框架、iframe等),右侧下拉框用于更改脚本上下文(页面、内容脚本等)。
参考链接:[Why will jQuery not load in Facebook?](https://stackoverflow.com/questions/15194699)
我在我的控制台中没有看到页面上下文选项,我的版本是否不支持?
如果您进入控制台,您可以看到"top",您需要点击它。
您可以在控制台中选择正确的chrome-extension://<your extension id>
并执行$("u_o_0")
。如果您不确定要选择哪一个,可以逐个尝试并在控制台中执行它。
此外,请注意,您现在似乎正在尝试$("u_16_0")
。相反,您可以尝试使用#
,如$("#u_16_0")
。
@ Aruna 纯JavaScript代码完美运行。我已经更新了我的帖子。让答案自动选择并相应地奖励。