$(...).每个都不是函数

M. *_* Sa 21 each jquery typeerror

我正在尝试使用Web控制台将文本放在页面上的所有h2标记内.

我发现所有人都说要使用每一个,我试过了

var anArray = [];

$('h2').each( function(i,e) {
    anArray.push($(e).innerHTML);
});
Run Code Online (Sandbox Code Playgroud)

但它返回TypeError: $(...).each.each不是一个函数.

我也试过用

$.each('h2', function(i,e) {
        anArray.push($(e).innerHTML);
    });
Run Code Online (Sandbox Code Playgroud)

但是,我得到的TypeError: $.each只是一个功能?

Ara*_*Rey 35

1)粘贴:

var script = document.createElement('script');
script.src = "https://ajax.googleapis.com/ajax/libs/jquery/1.6.3/jquery.min.js";
document.getElementsByTagName('head')[0].appendChild(script);
Run Code Online (Sandbox Code Playgroud)

在你的控制台上(包括jQuery)

2)等待1秒并粘贴:

var h2Arr = [];
$('h2').each( function() {
    h2Arr.push($(this).html());
});
Run Code Online (Sandbox Code Playgroud)

现在,该页面的所有h2标签内容都应该存储到h2Arr中


Amb*_*kar 7

如果您编写代码,例如没有$()

var1.each(function(){}) //its wrong//each function is not defined error

$(var1).each(function(){}) //its right
Run Code Online (Sandbox Code Playgroud)


Bra*_*ung 5

\n

注意:对于 Chrome,不要期望 $ 总是jQuery

\n
\n\n

您可以$输入控制台检查它是否返回 default \xc6\x92 $(selector, [startNode]) { [Command Line API] },如果是则表示 $ 未定义jQuery

\n\n

幸运的是,我们有以下方法可以尝试:

\n\n
    \n
  1. 解决使用冲突$,让它jQuery没有任何歧义
  2. \n
\n\n

首先,你可以把这段代码片段

\n\n
var jq = document.createElement(\'script\');\njq.src = "https://code.jquery.com/jquery-3.3.1.min.js";  /* Include any online jquery library you need */\ndocument.getElementsByTagName(\'head\')[0].appendChild(jq);\n
Run Code Online (Sandbox Code Playgroud)\n\n

进入控制台,\n然后放入$.noConflict控制台,如果不是返回undefined,而是返回\xc6\x92 (t){return e.$===w&&(e.$=Kt),t&&e.jQuery===w&&(e.jQuery=Jt),w},则说明$暂时没有定义JQuery

\n\n

接下来你可以继续输入你的区域代码,然后你会发现现在已经可以正常使用了。

\n\n

参考: https: //blog.wplauncher.com/run-jquery-in-chrome-console/

\n\n


\n\n
    \n
  1. 在 Chrome 中使用.jsfile 代替,然后调试 JavaScript 文件。
  2. \n
\n\n

请参阅: Chrome 开发工具片段

\n\n
    \n
  1. 此外,对于某些特定版本的Chrome,UI中有一个选项可以设置page context可能在最新版本中删除了此功能!)
  2. \n
\n\n

图像

\n