为什么我无法访问Chrome内置功能$?

时间:2012-09-08 02:44:00

标签: javascript google-chrome dom

在Chrome控制台中输入$,然后返回

$;
function () { [native code] }

获取DOM元素:

$("container");
<div class=​"container" id=​"container">​…​</div>​

但它在脚本块中不起作用:

window.onload = function  (argument) {
    var container = $("container");
    Uncaught ReferenceError: $ is not defined
}

2 个答案:

答案 0 :(得分:11)

您收到错误的原因是,虽然Google Chrome控制台有自己的$快捷键操作符,但它不适用于原始窗口:

Chrome Developer Tools: Console

如果你想在你的应用程序中使用这样的功能,你需要包含一些其他的库(jQuery是这里的流行选择,但还有其他像Prototype,MooTools等)或者你可以简单地将这个功能从如果这就是你需要的jQuery控制台。

答案 1 :(得分:3)

通过查看Chrome控制台中$功能的实际内容,可以推断出它实际上只不过是Chrome开发人员在控制台中内置的“工具箱功能”。由于它位于控制台中,因此您无法从可用的窗口访问它。

说内容:

function $(element) {
  if (arguments.length > 1) {
    for (var i = 0, elements = [], length = arguments.length; i < length; i++)
      elements.push($(arguments[i]));
    return elements;
  }
  if (Object.isString(element))
    element = document.getElementById(element);
  return Element.extend(element);
}