天天看点

$(...).find is not a function

报错

在Chrome 控制台调试的时候,我使用

$

选取页面元素,调用方法时报错

> $("title").find()
VM116:1 Uncaught TypeError: $(...).find is not a function
    at <anonymous>:1:12      

解决

根据

jQuery

的教程,我使用别名发现没有定义,明明

$

可用

>jQuery
jQuery is not defined
      

后来看了别的文章才知道,控制台也提供了一个

$

作为

document.querySelector()

方法的简写…

千万只草泥马奔腾而过,

$

作为jQuery通用的标识符,竟然被控制台控制了!

引入jQuery之后就可用了

var hm = document.createElement("script");
hm.src = "https://cdn.bootcss.com/jquery/3.4.1/jquery.min.js";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(hm, s);      

总结

jQuery没有引入和引入的差别:

// 没有引入jQuery 是控制台提供的接口 相当于:document.querySelector()
>$
ƒ $(selector, [startNode]) { [Command Line API] }

// 引入jQuery之后
>$
ƒ (e,t){return new k.fn.init(e,t)}      

最好直接使用jQuery测试,这样会有明显的提示

>jQuery
jQuery is not defined      

参考:

Chrome控制台选择器简介

继续阅读