天天看點

$(...).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控制台選擇器簡介

繼續閱讀