问题见代码

来源:2-2 编程练习

慕雪2331507

2019-07-11 14:50:42

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

      // $(this).css("text-indent","0");

      $("div").eq($(this).index()-1).css("text-indent","0"); 

})

相册示例中的代码:

   $('a').click(function() {
        $('img').eq($(this).index()).css({ 'opacity': '1' }).siblings().css({ 'opacity': '0' });
    });

问题1:$(this)是不是指代的是click前面的元素。如相册代码中指代的是$('a')?

问题2:为啥相册例子中$(this).index()不需要减1,这边需要减1. $(this).index是不是从<body>后面标签算起?这边例子中h1是index:0,<div>是index:1??


写回答

1回答

好帮手慕星星

2019-07-11

同学你好,

1、$(this)指向的是执行事件的元素,前面是给所有的div绑定上了点击事件,但是点击一个div的时候,$(this)指向的就是这一个div,不是所有的哦。

2、索引理解的没有问题,因为在body父容器中,第一元素是h1,不是div,所以div的索引需要从1开始,但是在所有div中,第一个div索引是0,所以在计算的时候需要减去1 。而在视频中所有nav容器中只有a标签,索引值按照正常计算即可。

祝学习愉快!

0

0 学习 · 14456 问题

查看课程