<div><span>文本1</span></div>
<p><span>文本2</span></div>
<script language="javascript">
var span = $("span");
span.each(function(n){
    this.style.fontSize = (n+1)*12+"px";
});
</script>
这里用到了jquery。
span = $("span"); 得到的span不是已经是jquery对象了吗?
怎么在span.each(fn)里面this又指的是DOM对象了呢?
这里的this指的不是span吗? 可是span不是已经是jquery对象了吗?
想用jquery的方法还得需要把$(this).css("font-size",(n+1)*12+"px"); 我是自学的,好多不太清楚。谁能把这段代码详细的讲一讲呢?谢谢

解决方案 »

  1.   

    $("span")获得的是一个数组的,因此需要使用span.each来进行遍历,这样了解不
      

  2.   

    我是不清楚为什么
    span.each(function(n){
      this.style.fontSize = (n+1)*12+"px";
    });
    中的this是DOM对象,为什么它不是jquery对象。this指代的不是span吗?span不是=$("span");了吗?
      

  3.   

    我是这么理解的:
    span是一个对象,each是对象中的一个方法。方法中this是指向调用此方法的对象,在此即:span
      

  4.   

    你得去看看each方法的实现和apply,call的原理. 不过现阶段我建议你先记住结论就行了.