jquery里面的$(this)和this都什么时候用,有什么区别
當(dāng)你用的是jquery時(shí),就用$(this),如果是JS,就用this
| 1 | $(this).html( $(this).html() +?" BAM! "?+ i ); |
這個(gè)里的html()是JQUERY方法,用$(this).html(),當(dāng)然,JS里也有相似方法innerHTML,如果用innerHTML,就要這樣寫了:
| 1 2 | this.innerHTML(); this.reset(); |
這里的reset是JS方法,所以同上得用this.reset();
jquery對(duì)象$(this)[0]等同于JS里的元素this,這里的this是一樣的,相信你應(yīng)該看出來了,JS里的元素只要包上$()就是jquery對(duì)象了,而jquery的對(duì)象只要加上[0]或者.get(0),就是js元素了。
$(this)是jquery對(duì)象,this就是簡(jiǎn)單指當(dāng)前元素。jquery對(duì)象不能直接指定元素的屬性(ele.style),需要get(index)或者直接(index)取得對(duì)象中元素才行
JQuery中的 $() 這個(gè)符號(hào),實(shí)際上這個(gè)符號(hào)在JQuery中相當(dāng)于JQuery(),即$(this)=jquery(this);也就是說,這樣可以返回一個(gè)jquery對(duì)象。那么,當(dāng)你在網(wǎng)頁中alert($('#id'));時(shí),會(huì)彈出一個(gè)[object Object ],這個(gè)object對(duì)象,也就是jquery對(duì)象了。
那么,我們?cè)倩剡^頭來說$(this),這個(gè)this是什么呢?假設(shè)我們有如下的代碼:
| 1 2 3 4 5 6 7 | $("#desktop a img").each(function(index){ ??????alert($(this)); ??????alert(this); } |
那么,這時(shí)候可以看出來:
alert($(this)); 彈出的結(jié)果是[object Object ]
alert(this); 彈出來的是[object HTMLImageElement]
?
jQuery中this與$(this)的區(qū)別
| 1 2 3 4 5 6 7 8 | $("#textbox").hover( ?????function() { ??????????????this.title =?"Test"; ?????}, ????fucntion() { ??????????????this.title = "OK”; ????} ); |
這里的this其實(shí)是一個(gè)Html 元素(textbox),textbox有text屬性,所以這樣寫是完全沒有什么問題的。
但是如果將this換成$(this)就不是那回事了,Error--報(bào)了。this與$(this)的區(qū)別在此。
| 1 2 3 4 5 6 7 8 9 | //Error Code: $("#textbox").hover( ?????function() { ??????????$(this).title =?"Test"; ?????}, ?????function() { ??????????$(this).title =?"OK"; ?????} ); |
這里的$(this)是一個(gè)JQuery對(duì)象,而jQuery對(duì)象沒有title 屬性,因此這樣寫是錯(cuò)誤的。
JQuery擁有attr()方法可以get/set DOM對(duì)象的屬性,所以正確的寫法應(yīng)該是這樣:
正確的代碼:
| 1 2 3 4 5 6 7 8 | $("#textbox").hover( ?????function() { ??????????$(this).attr(’title’, ‘Test’); ?????}, ?????function() { ??????????$(this).attr(’title’, ‘OK’); ?????} ); |
使用jQuery的好處是它包裝了各種瀏覽器版本對(duì)DOM對(duì)象的操作,因此統(tǒng)一使用$(this)而不再用this應(yīng)該是比較不錯(cuò)的選擇。
?
轉(zhuǎn)載于:https://www.cnblogs.com/alinaxia/p/6388703.html
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的jquery里面的$(this)和this都什么时候用,有什么区别的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python3 scarpy
- 下一篇: 论文笔记 Aggregated Resi