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

时间:2015-08-10 05:25:31

标签: jquery each typeerror

我正在尝试使用网络控制台将文本放在网页上的所有 h2 标记内。

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

var anArray = [];

$('h2').each( function(i,e) {
    anArray.push($(e).innerHTML);
});

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

我也尝试过使用

$.each('h2', function(i,e) {
        anArray.push($(e).innerHTML);
    });

但是,我得到的只是TypeError: $.each不是函数吗?

5 个答案:

答案 0 :(得分:31)

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);
控制台上的

(包括jQuery)

2)等待1秒并粘贴:

var h2Arr = [];
$('h2').each( function() {
    h2Arr.push($(this).html());
});

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

答案 1 :(得分:6)

如果你编写没有$()的代码 例如

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

$(var1).each(function(){}) //its right

答案 2 :(得分:0)

你必须使用.html()而不是.innerHTML:

$.each($('h2'), function(index, value){
   alert($(value).html());
});

Here一个工作小提琴。

答案 3 :(得分:0)

  

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

您可以将$放入控制台以检查其是否返回默认值ƒ $(selector, [startNode]) { [Command Line API] },如果是,则表示未为jQuery定义$。

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

  1. 解决使用$的冲突,将其jQuery毫无歧义

首先,您可以输入以下代码段

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

进入控制台, 然后将$.noConflict放入控制台,如果它没有返回undefined,而是返回ƒ (t){return e.$===w&&(e.$=Kt),t&&e.jQuery===w&&(e.jQuery=Jt),w},则表示现在尚未为$定义JQuery

接下来,您可以继续输入区域代码,然后您会发现它现在运行良好。

引用https://blog.wplauncher.com/run-jquery-in-chrome-console/


  1. 在Chrome中使用.js文件,然后调试JavaScript文件。

引用: Chrome DevTools Snippets

  1. 此外,对于某些特定版本的Chrome,UI中还有一个选项可以设置page context 可能已删除为最新版本!)。

img

答案 4 :(得分:0)

此错误的最常见原因是因为JQuery未包含在您的网站中,这就是它显示此错误的原因。您必须在网站中包含JQuery或使用普通js重写代码。