12行用eq 和 18行 $(value) 問題 求詳解
問1:第12行代碼:var h = boxs.eq(index).outerHeight();? 這里為啥不能
var h = boxs【index】.outerHeight();
2:這里為啥是:$(value).css({
?? ??? ??? ??? ??? ??? ?"position":"absolute",
?? ??? ??? ??? ??? ??? ?"top": min+"px",
?? ??? ??? ??? ??? ??? ?"left": mindex * w +"px"
?? ??? ??? ??? ??? ?})
不能寫成:
boxs[index].css({
?? ??? ??? ??? ??? ??? ?"position":"absolute",
?? ??? ??? ??? ??? ??? ?"top": min+"px",
?? ??? ??? ??? ??? ??? ?"left": mindex * w +"px"
?? ??? ??? ??? ??? ?})
2017-12-21
2017-11-20
首先請了解:
????????jquery選擇器得到的jquery對象和標準的 javascript中的document.getElementById()取得的dom對象是 兩種不同的對象類型,兩者不等價,因此jQuery無法使用DOM對象的任何方法,同理DOM對象也不能使用jQuery里的方法. 亂使用會報錯。但是jQuery是從js衍生出來的(所以都可以使用js的基本方法),但是jQuery是 經(jīng)過一系列操作之后,將其封裝成了一個個不同的方法。
因此,hrr[index]=h或者hrr.push(h)在這里都是可行的,hrr數(shù)組是js的原生數(shù)組不是Dom原生對象也不是jQuery對象
最后:學習jQuery,分清jQuery對象和DOM對象之間的區(qū)別之后,學習jQuery就會輕松很多的
2017-11-20
因為outerHeight()和.css是jQuery的方法,只有Query對象才能使用,而boxs[index]是Dom對象不能使用此方法,你可以試試 然后按F12看到控制臺會報錯,顯示boxs[index]沒有.css或者outerHeight()這個方法!