老师,有个jquery取对象的问题

老师,有个jquery取对象的问题

在做轮播图左右箭头切换图片的功能

$(".arrow").click(function(){

if($(this)[0].id == 'left'){

index--;

}else if($(this)[0].id == 'right'){

index++;

}

if(index <= 0){

index = imgList.length - 1;

}else if(index >= imgList.length){

index = 0;

}

changeImg();

});

不明白的是为什么$(this)[0]可以这么写,我本来写的$(this).eq(0)这样不行

jquery不是如果取对象是要用eq的吗?这样直接[0]不是是数组的取法吗?突然混乱...

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学,你好。这里$(this)[0]  获取到的是 dom对象(可以使用dom属性,方法,不可以使用jq属性方法),而 $(this).eq(0)  获取到的则是 jquery对象(可以用jq的属性、方法,不可以使用dom属性方法)。这里需要获取的是dom对象,因此要用$(this)[0].

祝学习愉快!

  • Yuri沫 提问者 #1
    就是说这样直接对象.id是dom的属性,不是jquery的。那如果要用jquery的方式获取id,只能通过attr是嘛?
    2019-02-28 10:00:24
  • Steve007 回复 提问者 Yuri沫 #2
    同学,你好。是这样的,同学理解的没错。
    2019-02-28 10:09:30
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
前端小白入门系列课程
  • 参与学习           人
  • 提交作业       11218    份
  • 解答问题       36713    个

从一个不会编程的小白到一个老司机是需要过程的,首先得入门,学习基础知识,然后才能进阶,最后再到精通,本专题是你走进前端世界的不二选择!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师