$(this)和this

     1⃣️  $():的返回值是一个jQuery对象

     2⃣️  this 是一个HTML标签对象,而$(this)是一个jQuery对象

     3⃣️  x=document.getElementById("someLabelId");是一个HTML标签对象

    因此,jQuery对象只能调用jQuery对象拥有的属性和方法;而HTML标签对象只能够调用HTML对象拥有的属性和方法

    否则就会报错。看看下面的这段代码,就能更清楚的理解这一点了:  

复制代码
<p id="content" myattr="it is no problem">这是一个用于测试的文本</p>

<script>
    var Yattr = $('#content').attr('myattr');
    $('#content').on('click',function(){
        this.innerHTML = Yattr ;
//      x=document.getElementById("content");  // 找到元素
//      x.innerHTML="Hello JavaScript!";
    })

</script>
复制代码

 

再来看另外一个例子

<img id="myimage" src="/images/pic_bulboff.gif" width="100" height="180">
<p id="content" style="color:red ">中国好声音</p>

<script>
    $("#content").on('click',function(){
        this.style.color = "blue";
    });

    $("#myimage").on('click',function(){
        this.src="/image/new_pic";
    });

</script>

同样HTML对象还有value等属性,如 this.value = "new value"; 

posted @ 2016-07-08 09:10  RoperLee  阅读(123)  评论(0)    收藏  举报