()這個符號,實際上這個符號在JQuery中相當(dāng)于JQuery(),即$(this)=jquery();也就是說,這樣可以返回一個jquery對象。
公司專注于為企業(yè)提供成都網(wǎng)站制作、成都網(wǎng)站建設(shè)、外貿(mào)營銷網(wǎng)站建設(shè)、微信公眾號開發(fā)、電子商務(wù)商城網(wǎng)站建設(shè),小程序設(shè)計,軟件按需設(shè)計網(wǎng)站等一站式互聯(lián)網(wǎng)企業(yè)服務(wù)。憑借多年豐富的經(jīng)驗,我們會仔細了解各客戶的需求而做出多方面的分析、設(shè)計、整合,為客戶設(shè)計出具風(fēng)格及創(chuàng)意性的商業(yè)解決方案,創(chuàng)新互聯(lián)更提供一系列網(wǎng)站制作和網(wǎng)站推廣的服務(wù)。
在function函數(shù)內(nèi),使用$(this)獲得當(dāng)前對象,相當(dāng)于使用$(#test)獲得對象,通過text()方法獲得span的內(nèi)容,使用alert()方法將內(nèi)容輸出來。在瀏覽器打開test.html文件,點擊span標簽,查看實現(xiàn)的效果。
// this其實是一個Html 元素。// $this 只是個變量名,加$是為說明其是個jquery對象。// 而$(this)是個轉(zhuǎn)換,將this表示的dom對象轉(zhuǎn)為jquery對象,這樣就可以使用jquery提供的方法操作。
this指的是js對象,$(this)指的是jquery對象。這二者是可以相互轉(zhuǎn)化的。this不能調(diào)用jQuery的方法。比如this.attr(value)這種寫法就是錯誤的。因為你用的js對象調(diào)用jquery的方法。
如果你學(xué)過面向?qū)ο笳Z言的話,例如JAVA,你應(yīng)該明白這個this在JAVA里的意思,簡單的說,誰在調(diào)用它,它就代表文誰。
(this)是jquery的寫法,表示當(dāng)前方法自身。this是js的寫法,表示當(dāng)前方法或?qū)ο笞陨怼8鶕?jù)你給的代碼,this是表示$.fn.tableimage這一方法,$(this)是表示this.each循環(huán)中的一個循環(huán)。
其實是個簡單的問題。$(this) 返回一個 jQuery 對象,你可以對它調(diào)用多個 jQuery 方法,比如用 text() 獲取文本,用val() 獲取值等等。
表示對象不同:this表示的是javascript提供的當(dāng)前對象,$(this)表示的是用jquery封裝候的當(dāng)前對象。過程不同:this對象可以直接用this.style修改樣式,$(this)可以使用jquery提供的方法訪問樣式。
this只是個自定義的變量;(this)是將當(dāng)前don對象轉(zhuǎn)換成jquery對象 ;一般定義jquery變量習(xí)慣$開頭,提高可讀性而已。(this)是把DOM對象封裝成jquery對象,其相當(dāng)于一個集合。
關(guān)于JQuery中this和event.target的區(qū)別如下:js中的事件會冒泡,因此可以更改,但是event.target不會更改,它始終指向觸發(fā)事件本身的DOM元素;假設(shè)htm是 / span / div,單擊span時,更改span的顏色。
但是 target 則不同,它指向的是 事件實際執(zhí)行所在的元素 ,所以本例中 e.target.id 的值取決于鼠標直接所點擊的元素。
event.target屬性的作用是獲取到出發(fā)事件的元素。jQuery對其封裝后,避免了W3C、IE和safari瀏覽器不同標準的差異。
(this)是觸發(fā)執(zhí)行當(dāng)前函數(shù)塊(事件處理函數(shù))最內(nèi)層(距離最近的)的jQuery對象,在你的代碼中就是觸發(fā)了mouseover事件的對象。
而對于currentTarget,它指的是當(dāng)事件遍歷DOM時,標識事件的當(dāng)前目標。它總是引用事件處理程序附加到的元素,而不是 event.target ,它標識事件發(fā)生的元素。 舉個例子來說明。
一個是觸發(fā)事件的主體元素,一個是存在過渡的事件的相關(guān)主體之一 比如:對于mouseout:event.relatedtarget指向?qū)⑦M入的頁面元素;而mouseover, 指向的是剛掠過的頁面元素。