jQuery 重製表單(reset)的方法

今天copy之前的項目的部分代碼到新項目時,遇到了$("#..Form").get(0).reset();這行代碼,我一開始以為這是多次一舉的,既然已經用ID選擇器了,得到的肯定是一個Form了,而不是包含其他Form的數組了。所以直接寫成$("#..Form").reset()不就完事了嘛。但我錯了,我居然忽略了兩點: 
1.ID選擇器的返回值類型是Array<Element>,也就是說也是數組形式的,雖然現在xhtml提倡的標準中,id是提倡唯一的,但jquery肯定是考慮到了兼容。 
2.reset()是js中的方法,而我一直在把它當作jquery的方法使用。這裡有一個注意:通過jquery中get(0)與eq(0)的返回值是不一樣的,前者返回值是Element後者是jQuery,所以要先get(0)再reset(),如果先eq (0)再reset()是報錯的。 

 ————————————————-
get() 跟 eq()不同

 get()返回如同陣列的html, 例如$("form").get(0)代表form原素的第一個form

eq()返回的是jq元素

發表迴響