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

♀尐吖头ヾ 提交于 2020-02-24 18:38:24

报错

在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控制台选择器简介

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!