今天(周六)下午我在公司加班時不知道要干什么,就打開公司的一個wordpress項目網(wǎng)站,想看下之前自己做的一個網(wǎng)頁是否有問題。
打開網(wǎng)站首頁,我習(xí)慣性的打開了chrome的調(diào)試工具,然后鼠標(biāo)開始滾動頁面,然后問題就出來了:頁面無法向下滾動,調(diào)試工具的console里報了好多undefined的錯誤。
我馬上意識到是我寫的js代碼錯誤的在首頁被執(zhí)行導(dǎo)致的問題,我的代碼大致是這樣:
這段代碼的想要做的就是,判斷下頁面是否有某個id標(biāo)識的元素,如果有就做一些事情。網(wǎng)站首頁是應(yīng)該沒有這個元素的,不應(yīng)該執(zhí)行這個代碼。
好吧,如果你看到這里,你肯定能猜到我不是做前端的。我期望它返回一個布爾類型的false,但它實際上返回的是一個jQuery Object,
注意這里獲得的不是dom element,如果想獲得真實的dom element,可以這么寫$('#a')[0]或者$('#a').get(0)。
其實$('selector')返回的永遠(yuǎn)都是一個jQuery Object,不管它找沒找到元素。(關(guān)于這個返回值的問題請參考:What does jquery $ actually return? 和 How to get a DOM Element from a JQuery Selector)。
那么我該如何判斷id=a的元素是否存在呢?其實可以這么做,if ($('#a').length),如果沒有#a則返回的object其實是個空對象,可以達到目的。
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動安全 [無線安全]玩轉(zhuǎn)無線電——不安全的藍(lán)牙鎖 2017-07-26
- 消息隊列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標(biāo)分割】 2017-07-26
- 詞向量-LRWE模型-更好地識別反義詞同義詞 2017-07-26
- 從棧不平衡問題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動安全 Android端惡意鎖屏勒索應(yīng)用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來看看(二) 2017-07-26