我們首先要分清楚,用$()的方式,獲取的DOM對象是被封裝過的jq對象,可以使用jq提供的封裝過的方法。用js獲取的DOM對象就是jsDOM對象,不能使用jq封裝的方法。
想把jsDOM對象變成JqDOM對象,將jsDOM對象,放在$()中即可。
var div = document.getelementById("dv");//jsDOM對象
div = $(div)//jqDOM對象
如果你瞭解jqDOM的原理,可以知道,jq對象其實是將jsDOM對象,存在了一個僞數組中=====jq對象
這個問題,我也就解釋道這吧,相信對於迷茫的你還是會有點幫助的。
jq對象實際上是一個類似數組的僞數組,jq就封裝了三個方法,用來獲取某一個對象。
index()方法,是爲了獲取當前jq對象在兄弟元素中的索引:無參數
var lis = $("ul li");
lis.click(function(){
console.log($(this).index())//獲取當前元素在兄弟元素的中的索引
})
get()方法,從jq對象中,取出一個jsDOM對象:參數是索引-數字
var lis = $("li");//JQdom
var li = lis.get(0);//取出第一個js對象
eq()方法,是爲了從一個jq對象中,獲取其中一個jq對象:參數是索引值- 數字
var lis = $("li");//JQdom
var li = lis.eq(0);//取出第一個JQ對象(可以理解爲先把普通的jsDON取出來,再封裝成jqDOM)