$(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";


浙公网安备 33010602011771号