$(...).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控制台选择器简介

发布了1427 篇原创文章 · 获赞 378 · 访问量 133万+

猜你喜欢

转载自blog.csdn.net/mouday/article/details/104480649