大家好,今天要和大家聊一聊JavaScript里到處都是¥符號的問題。
首先,我們先來看一個問題,當我們使用jQuery時,經常會使用$()來獲取一個DOM元素,但是當我們用$()來獲取一個以¥開頭的元素時,卻會出現一些莫名其妙的問題。例如:
var price = $('¥10.99'); console.log(price);
這段代碼輸出的結果是一個空數組,而不是我們期待的獲取到id為10.99的DOM元素。
就算不是jQuery,我們在JavaScript中使用$作為變量名的時候,也會遇到類似的問題。例如:
var $price = '¥10.99'; console.log($price);
這段代碼輸出的結果也是一個¥符號,而不是我們期待的10.99。
為什么會這樣呢?這是因為在JavaScript中,$符號是合法的變量名字符,同樣的,¥符號在JavaScipt中也是一個合法的變量名字符。
所以,當我們在使用$()獲取DOM元素時,$被識別成了jQuery選擇器,而不是像我們期望的獲取一個DOM元素的快捷方式;當我們用$作為變量名時,$被識別成了變量名的一部分,而不是像我們期望的只是一個簡短的符號。
那么,我們該如何避免這個問題呢?最常見的方法是避免在變量名中使用$符號,采用其他的變量名來代替。而在獲取DOM元素時,使用$(document.getElementById('id'))來代替$()也可以解決問題,例如:
var price = $(document.getElementById('¥10.99')); console.log(price);
這樣就能成功獲取DOM元素了。
綜上所述,這個問題的產生是因為在JavaScript中,$符號和¥符號都是合法的變量名字符,我們需要避免在變量名中使用$符號,或者使用$(document.getElementByid('id'))來替代$(),以避免出現莫名其妙的問題。
下一篇css中 卡片切換效果