老师看一下
来源: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回答
你好同学,解答如下:
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对象哦。
祝学习愉快,望采纳。