實例講解JQuery中this和$(this)區(qū)別
平時很少在jquery中用到this。查看代碼時發(fā)現(xiàn)用到了,就調(diào)試出this的值,心想原來如此。還是挺有用的。這里總結(jié)一下this與$(this)的區(qū)別和使用。
$(this)生成的是什么?
$()生成的是什么呢?實際上$()=jquery(),就是說返回的是一個jquery的對象。
通常我們?yōu)榱撕啽阒苯邮褂?()。實際上,該函數(shù)省略了一個參數(shù)context。根據(jù)選擇器選取匹配的對象即$(selector, context),以jQuery包裝集的形式返回。
context可以是Dom對象集合或jQuery包裝集,傳入則表示要從context中選擇匹配的對象,不傳入則表示范圍為文檔對象(即頁面全部對象),即$(selector)=$(selector,document)。
this指的是,調(diào)用函數(shù)的那個html對象。
例子:
$("#textbox").hover(
function() {
this.title = "Test";
},
fucntion() {
this.title = "OK”;
}
);
這里的this其實是一個Html元素(textbox),this是js中的。textbox有text屬性,所以這樣寫沒什么問題。
$("#textbox").hover(
function() {
$(this).title = "Test";
},
function() {
$(this).title = "OK";
}
);
這里的$(this)是一個JQuery對象,而jQuery對象沒有title 屬性,因此這樣寫是錯誤的。
結(jié)論:
this,表示當(dāng)前的上下文對象是一個html對象,可以調(diào)用html對象所擁有的屬性和方法。
$(this),代表的上下文對象是一個jquery的上下文對象,可以調(diào)用jquery的方法和屬性值。
實例(選項卡):
tabs($("#nav a"), $(".content"));
function tabs(tab, content){
content.hide();
content.eq(0).show();
tab.click(function(){
var index = tab.index(this);
tab.removeClass("current");
$(this).addClass("current");
content.hide();
content.eq(index).animate({opacity:'show'}, 200);
});
}
相關(guān)文章
EasyUI的DataGrid每行數(shù)據(jù)添加操作按鈕的實現(xiàn)代碼
今天做項目的時候,想在easyui的datagrid每一列數(shù)據(jù)后邊都加上一個操作按鈕,怎么實現(xiàn)此功能呢?下面小編給大家?guī)砹薊asyUI的DataGrid每行數(shù)據(jù)添加操作按鈕的實現(xiàn)代碼,需要的朋友參考下吧2017-08-08jquery 單擊li防止重復(fù)加載的實現(xiàn)代碼
li在單擊后調(diào)用ajax加載內(nèi)容然后展開,li不像button在響應(yīng)了單擊事件后可以設(shè)置為disabled。2010-12-12Jquery利用mouseenter和mouseleave實現(xiàn)鼠標(biāo)經(jīng)過彈出層且可以點擊
這篇文章主要介紹了Jquery利用mouseenter和mouseleave實現(xiàn)鼠標(biāo)經(jīng)過彈出層且可以點擊。需要的朋友可以過來參考下,希望對大家有所幫助2014-02-02jquery input checked全選與反選1.3.2的版本
jquery 全選與反選1.3.2的版本2009-05-05