我用var $obj = {}聲明,後期執行會報錯$obj.animate is not a function,請問如何聲明一個
jquery的對象?
jquery對象並不意味著你引入了jquery的js以及你使用了其中代表jquery的符號$符號作為變量名的開頭,這跟jquery一點關系都沒有,jquery一般會提供我們一些根據他的規則獲取的元素對象,比如:使用jquery獲取一個input元素對象,並將其賦值給一個變量,那麼,這個變量就具備了jquery對象的特征,換而言之,該變量就代表該jquery對象,而不管你是否使用$作為變量名的開頭。很多書上建議以這個符號開頭來標記一個變量是jquery對象的變量,只是為了讓我們在使用的過程中能夠很快的區分普通變量和jquery對象所對應的變量,更加易於理解而已。總而言之,想要聲明一個jquery對象,你得確保賦值符號的右邊是一個jquery對象,而不應該把注意力集中在變量名上面。舉個簡單的例子:
我有一個input框,如下:
<input type="text" id="userName" value="java仔" />
現在我在js代碼塊中將其用jquery取出,再將其賦值給一個變量:
var $userNameInput = $("#userName");
那麼,$userNameInput就是一個具有jquery對象特征的變量,就可以通過jquery的特性來進行相應的操作,如:
取值——$userNameInput.val();設置值:$userNameInput.val("vcxiaohan2");等等。
而如果當初我不是賦值給$userNameInput,而是賦值給一個普通的js變量,如name,那麼同樣的,name也就是具有jquery對象特征的變量,我們仍舊可以通過相同的形式進行操作。