慕仙5237505
2017-11-19 22:57
问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"
})
<b>大</b>
首先请了解:
jquery选择器得到的jquery对象和标准的 javascript中的document.getElementById()取得的dom对象是 两种不同的对象类型,两者不等价,因此jQuery无法使用DOM对象的任何方法,同理DOM对象也不能使用jQuery里的方法. 乱使用会报错。但是jQuery是从js衍生出来的(所以都可以使用js的基本方法),但是jQuery是 经过一系列操作之后,将其封装成了一个个不同的方法。
因此,hrr[index]=h或者hrr.push(h)在这里都是可行的,hrr数组是js的原生数组不是Dom原生对象也不是jQuery对象
最后:学习jQuery,分清jQuery对象和DOM对象之间的区别之后,学习jQuery就会轻松很多的
因为outerHeight()和.css是jQuery的方法,只有Query对象才能使用,而boxs[index]是Dom对象不能使用此方法,你可以试试 然后按F12看到控制台会报错,显示boxs[index]没有.css或者outerHeight()这个方法!
瀑布流布局
97759 学习 · 736 问题
相似问题