老师看一下

来源:2-11 编程练习

Azathouth

2019-07-02 16:40:53

第一种方法

var divs = $("div");
        var move = 0;
        divs.scroll(function(){
            move++;
            $("span").text(move);
        })

第二种方法

           var divs = $("div");
        var move = 0;
        divs.scroll(function(){
            $("span")[0].innerHTML = move++;
        })

Q:这里的$("span")是一个类数组吗?如果是类数组那想要获取到第一个span不是必须后面添加[0]吗?

为什么在第一种方法里面就不用写,在第二种方法就需要写?我现在彻底凌乱了,到底那种方法正规?

写回答

1回答

好帮手慕夭夭

2019-07-02

你好同学,解答如下:

1.首先[0]这种是原生js的方式,$("span")是jQuery对象,jQuery与原生js的不能混用。

$("span")是类数组。在jQuery中,如果html中只有一个span,那么$("span")就会直接操作这一个span,如果页面中有多个span,$("span")就会直接操作多个span了哦。

2.原生js中,如果获取的dom对象返回的是一个类数组,那么需要使用数组下标的方式去获取。因为第二种方式中的innerHTML属于原生js里面的方法,所以需要先把一个jQuery对象转换为dom对象才能使用。而$("span")[0]就是把jQuery对象转换为dom对象的方法,即$("span")[0]整体表示的是一个dom对象哦。

祝学习愉快,望采纳。

0

0 学习 · 14456 问题

查看课程

相似问题