1. 程式人生 > >jquery裡面的$(this)和this都什麼時候用,有什麼區別

jquery裡面的$(this)和this都什麼時候用,有什麼區別

jquery裡面的$(this)和this都什麼時候用,有什麼區別
當你用的是jquery時,就用$(this),如果是JS,就用this

$(this).html( $(this).html() + ” BAM! ” + i );
這個裡的html()是JQUERY方法,用$(this).html(),當然,JS裡也有相似方法innerHTML,如果用innerHTML,就要這樣寫了:

this.innerHTML();
this.reset();

這裡的reset是JS方法,所以同上得用this.reset();
jquery物件$(this)[0]等同於JS裡的元素this,這裡的this是一樣的,相信你應該看出來了,JS裡的元素只要包上$

()就是jquery物件了,而jquery的物件只要加上[0]或者.get(0),就是js元素了。

$(this)是jquery物件,this就是簡單指當前元素。jquery物件不能直接指定元素的屬性(ele.style),需要get(index)或者直接(index)取得物件中元素才行
JQuery中的 $() 這個符號,實際上這個符號在JQuery中相當於JQuery(),即$(this)=jquery(this);也就是說,這樣可以返回一個jquery物件。那麼,當你在網頁中alert($(‘#id’));時,會彈出一個[object Object ],這個object物件,也就是jquery物件了。

那麼,我們再回過頭來說$(this),這個this是什麼呢?假設我們有如下的程式碼:

$("#desktop a img").each(function(index){

      alert($(this));

      alert(this);

}

那麼,這時候可以看出來:

alert($(this)); 彈出的結果是[object Object ]

alert(this); 彈出來的是[object HTMLImageElement]

jQuery中this與$(this)的區別

$("#textbox").hover(
     function() {
              this
.title = "Test"; }, fucntion() { this.title = "OK”; } );

這裡的this其實是一個Html 元素(textbox),textbox有text屬性,所以這樣寫是完全沒有什麼問題的。

但是如果將this換成$(this)就不是那回事了,Error–報了。this與$(this)的區別在此。

//Error Code:

$("#textbox").hover(
     function() {
          $(this).title = "Test";
     },
     function() {
          $(this).title = "OK";
     }
);

這裡的$(this)是一個JQuery物件,而jQuery物件沒有title 屬性,因此這樣寫是錯誤的。

JQuery擁有attr()方法可以get/set DOM物件的屬性,所以正確的寫法應該是這樣:

正確的程式碼:

$("#textbox").hover(
     function() {
          $(this).attr(’title’, ‘Test’);
     },
     function() {
          $(this).attr(’title’, ‘OK’);
     }
);

使用jQuery的好處是它包裝了各種瀏覽器版本對DOM物件的操作,因此統一使用$(this)而不再用this應該是比較不錯的選擇。

相關推薦

jquery裡面的$(this)this什麼時候什麼區別

jquery裡面的$(this)和this都什麼時候用,有什麼區別 當你用的是jquery時,就用$(this),如果是JS,就用this $(this).html( $(this).html() + ” BAM! ” + i ); 這個裡的html()是

jQuerythis$(this)

tab 循環 amp ole .text lin 原生 我想 for 今天剛剛遇到的問題,用jquery主要的目的是想匹配一個標簽內的字符串後執行幾個操作 1 {loop $qq_result $activity} 2 <dd&g

jquery裏$(this)this區別在哪

addclass 調用 cti OS dom節點 att query lis attr 下面兩段代碼在jquery的官網見到的,何時用$(this),又何時用this呢? $(document).ready(function() { $("#orderedlist

JQuerythis$(this)獲取對象、操作DOM對象的元素屬性

class 獲取對象 clas details 對象 query 操作 active html $(‘.button‘).click(function () { var active = $(‘.buttons-tab a‘).children(‘input‘).at

JS獲取節點的兄弟,父級,子級元素(原生基於jquery) 、動態建立文件元素 、this$(this)區別

一、JS獲取節點的兄弟,父級,子級元素的方法 原生js var s= document.getElementById("test"); del_ff(s);    //清理空格 var chils= s.childNodes;  //得到s的全部子節點 var par=s.

JQuery this$(this)的區別及獲取$(this)子元素物件的方法

       首先來看看JQuery中的  $()  這個符號,實際上這個符號在JQuery中相當於JQuery(),即$(this)=jquery();也就是說,這樣可以返回一個jquery物件。那麼,當你在網頁中alert($('#id'));時,會彈出一個[object Object ],這個obj

this $(this) 的區別

.com .cn style alt font 區別 cnblogs alert 分享 沒事就alert一下 this 和 $(this) 的區別

$(this)this

bsp his object style function AS ML 使用 func $(this)屬於jQuery,this屬於js。 舉個栗子先, 1 $("#desktop a img").each(function(index){ 2 3

JS中this物件作為函式引數的區別

一個簡單的例子 要求: 1、一個列表有一些簡單的包含文字的行 2、滑鼠移到某一行上時背景色改為色值為 #f2f2f2,移開滑鼠時則恢復為原背景色 #fff 3、點選新增按鈕,能動態在最後新增一行 提示 - 獲取表格的行,getE

Android中使用MainActivity.thisthis情況

剛接觸Android,有新鮮感,也有很多困惑,MainActivity.this就是一個典型。 Context和Activity的關係 在很多地方需要用到Context這個類作為引數,我們一個是用 SomeActivity.this傳遞。 MainActivity

win7 訪問xp的共享 帳號密碼正確卻總是出現讓重輸入密碼的對話方塊

1、win7 訪問xp的共享, 帳號和密碼都正確,卻總是出現讓重輸入密碼的對話方塊。 解決方法: win7,開始選單-> 輸入secpol.msc, 開啟本地策略,點開本地策略-》 安全選項, 右邊下拉找到“網路安全:LAN管理身份證驗證級別” 這個項預設是沒有定義

繫結事件的時候如果pc與移動端可以做一下pc與移動端的相容

這裡只談及PC端的mousedown mousemove mouseup事件 與 移動端的touchstart  touchmove touchend事件  var hastouch = 'ontouchstart' in window?true:false,      

IP,子網掩碼,預設閘道器DNS是什麼,什麼

是Classful還是Classless取決於你在路由器上執行的路由協議,一個路由器上可同時執行Classful和Classless的路由協議。RIP1是Classful的,它在做路由廣播時不帶掩碼資訊;OSPF,EIGRP,BGP4是Classless的,它們在做路由廣播時帶掩碼資訊,它們可以同時執行在同一

關於$(this)this、[object object][object HTMLImageElement]區別處理

alert($(this));彈出來的結果是[object object] alert(this);彈出來的結果是[object HTMLImageElement] <input type="text"  class="form-control inputDisabl

svn使用者名稱密碼正確但登入不了

以前用過svn,並且用過代理同時儲存了使用者名稱和密碼,結果就是一直用儲存的使用者名稱和密碼登入,但svn居然不報錯,一直不停的跳登入介面。 解決辦法:把Enable Proxy Server前的√去掉,或填寫正確的使用者名稱和密碼

php中staticself調靜態方法區別

php由於看到框架裏面經常使用static::method() 於是稍微了解下static和self的區別廢話少說,直接上代碼class Father { public function __construct() { $this->init(); self::test(); }

全區萬V[8034645]百度資訊流今日頭條對比什麼不同

大家好,我是全區萬。很開心在這裡和大家又來聊一聊網際網路廣告。全區萬網路推廣專注線上廣告投放。我全區萬從事這個行業也算是有段時間了,覺得有些客戶理不清廣告的一些基本知識。這裡也不說多深奧,就是給大家聊聊一些基礎知識。 百度資訊流和今日頭條對比,有什麼不同.詳情可以聯絡全區萬微《wzw374》

Java泛型方法型別萬字元的區別

泛型方法VS型別萬用字元(兩者可以混用):      1)你會發現所有能用型別萬用字元(?)解決的問題都能用泛型方法解決,並且泛型方法可以解決的更好: 最典型的一個例子就是:          

深度解析:IICSPI匯流排協議何不同?

[主從裝置]必須使用相同的工作引數——SCLK、CPOL 和 CPHA,才能正常工作。如果有多個[從裝置],並且它們使用了不同的工作引數,那麼[主裝置]必須在讀寫不同[從裝置]間重新配置這些引數。以上SPI匯流排協議的主要內容。SPI不規定最大傳輸速率,沒有地址方案;SPI也沒規定通訊應答機制,沒有規定流控制

AJAXJSON是什麼什麼優缺點

AJAX,Asynchronous JavaScript and XML,非同步的JS和XML。 Ajax能夠與伺服器交換少量資料,從而非同步更新部分網頁,何為非同步,非同步就是當Ajax進行交換資料操作的時候,其他操作依然可以執行。 缺點:不支援瀏覽器返回按鈕