无法找到网页中定义$的位置

时间:2017-07-25 08:42:29

标签: javascript jquery google-chrome-devtools

我试图操纵dom以包含指向Google jQuery CDN的源代码的脚本标记。我的原始网页是一个简单的html,不包含其他脚本。但是我发现,即使没有将jquery src包含到我的页面中,当我输入$时,它接受它并将其显示为函数。我正在使用chrome版本59.0.3071.115。只需在控制台上键入$就会显示第一个附加的屏幕截图。

我的问题是如何找出与$相关联的功能的定义以及它是如何被包含的。我已经尝试了搜索框' $',没有搜索结果。有趣的是,当我输入jQuery时,它显示undefined。我猜是$正被用于其他一些功能。但是,如果我键入类似$(' body')的内容,它会以root元素(第二个屏幕截图)开头给出整个正文树。 这个问题不会发生在我同事的机器上。任何帮助或指示将非常感谢!

enter image description here  enter image description here

我在chrome dev工具中检查的实际html。



<html>
<h1 align="center">Beer Selection Page </h1>
<form method="POST" action="SelectBeer.do">
Select beer characteristics<p>
Color:<select name="color" size="1">
<option>light
<option>amber
<option>brown
<option>dark
<br><br>
<input type="SUBMIT">
</form>
</body>
</html>
&#13;
&#13;
&#13;

3 个答案:

答案 0 :(得分:1)

在这种情况下,

$不引用jQuery,因此它未在页面的任何位置定义。实际上,它是开发人员工具的一部分。见:sonata documentation。它原来是document.querySelector的别名。

作为一个副节点,我能理解你的想法。据我所知,由于jQuery的普及,浏览器厂商在他们的开发人员工具中引入了$(selector)函数(具有该名称)。但是,根据引用的文档,

  

[如果页面是]使用诸如使用$的jQuery之类的库,这个功能将被覆盖,$将对应于该库的实现。

答案 1 :(得分:0)

Chrome开发者工具添加此功能。在您的网页上尝试使用JavaScript中的alert($);(而不是在开发工具中),以确认它不存在。

答案 2 :(得分:0)

Dollar sign($)不是jQuery,您可以通过尝试来检查。一些jQuery命令如: $(&#39; h1&#39;)。show()或.hide()

然后,$这里是什么。 在Chrome浏览器的浏览器中,它返回: function (a,b){return new n.fn.init(a,b)}

在你的控制台中

function$(selector, [startNode]) { [Command Line API] }

如果页面未定义,则表明浏览器会占用$。 对于Chrome,它是上述功能,使调试变得容易。例如,如果您键入:

浏览器devconsole中的

$('h1')$('div') 您会发现它会返回页面中的所有<h1><div>

因此,如果您的html / js代码没有定义明确$$$,则会定义$和类似$$以及其他几个辅助函数/命令

所以,请不要在下次感到困惑!