为了账号安全,请及时绑定邮箱和手机立即绑定

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"
                    })


正在回答

3 回答

<b>大</b>


0 回复 有任何疑惑可以回复我~

首先请了解:

        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就会轻松很多的


0 回复 有任何疑惑可以回复我~
#1

慕仙5237505 提问者

我感觉自己迷糊,分不清哪个是js原生的,哪个是dom 对象?有没有具体划分的资料给我看看,或者帮忙给我讲解一下呢,我一直以为js原生和dom是一个东西额。。。
2017-11-20 回复 有任何疑惑可以回复我~
#2

慕仙5237505 提问者 回复 潇湘魅

额,我其实看过好多js jq 了感觉学的里面没有细分似的,不太明白,具体看W3Cschool手册哪一部分呢?里面会有详细划分和介绍他们的区别那些吗? 求详解多谢
2017-11-21 回复 有任何疑惑可以回复我~

因为outerHeight()和.css是jQuery的方法,只有Query对象才能使用,而boxs[index]是Dom对象不能使用此方法,你可以试试 然后按F12看到控制台会报错,显示boxs[index]没有.css或者outerHeight()这个方法!

0 回复 有任何疑惑可以回复我~
#1

慕仙5237505 提问者

第14行怎么感觉也像js 却又可以呢?hrr[index]=h 这句,感觉有点难区分js jq之间的方法写法
2017-11-20 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

12行用eq 和 18行 $(value) 问题 求详解

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信