朋友,jquery只不过是把js封装的一个框架而已,为了是方便实现一些比较复杂的功能,底层代码还是js,jquery对象就是DOM对象
比如:span = $("span"); 实际上就是span = document.getElementById("span");没区别,只是用 $的写法简化了你的编程,且用起来更容易。
this在js里可以理解成指针的意思,指代上层对象的引用,当然this有时候会用复杂的变化,指向的上层对象会不同,这里我就不细说了。
所以不管是jquery方法还是js方法,其实都是一样的,想怎么写都行,把功能实现就好了,别把事情搞复杂了
this在函数里指向调用当前函数的对象,
each本身是一个函数,如果this可以直接写在each函数中那当然是指span对象,但很明显each里面是嵌套了一个匿名函数的,匿名函数没有显式的调用者,所以只能是最上层的dom代表this
each(callback) 返回值:jQuery
以每一个匹配的元素作为上下文来执行一个函数。
意味着,每次执行传递进来的函数时,函数中的this关键字都指向一个不同的DOM元素(每次都是一个不同的匹配元素)。而且,在每次执行函数时,都会给函数传递一个表示作为执行环境的元素在匹配的元素集合中所处位置的数字值作为参数(从零开始的整型)。 返回 'false' 将停止循环 (就像在普通的循环中使用 'break')。返回 'true' 跳至下一个循环(就像在普通的循环中使用'continue')。
这是jquery手册里写的,既然你用了.each,那你就要遵循.each的规则,里面的this是指向对象(你js里定义的span而非html的标签)内的DOM元素,不知道我这样解释你是否明白。
this 仅仅指的是 所属方法或者函数所指定的某个对象