【问题标题】:Why can't I access Chrome built-in function $?为什么我无法访问 Chrome 内置函数 $?
【发布时间】:2012-09-01 21:35:11
【问题描述】:

在 Chrome 控制台中输入 $ 然后 return:

$;
function () { [native code] }

并获得一个 DOM 元素:

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

但它不能在脚本块中工作:

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

【问题讨论】:

  • 你已经包含了 jQuery 库?据我所知,你不能在纯js中那样使用$。
  • $ 不是内置函数。它用于流行的 jquery 库中。

标签: javascript google-chrome dom


【解决方案1】:

您收到错误是因为,虽然 Google Chrome 控制台有自己的 $ 快捷方式运算符,但它对原始窗口不可用:

Chrome Developer Tools: Console

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

【讨论】:

    【解决方案2】:

    通过查看 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);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-20
      • 2015-01-11
      • 2014-04-06
      • 1970-01-01
      • 1970-01-01
      • 2020-10-24
      相关资源
      最近更新 更多