文章出處

在JS中,當前對象一般用this表示,在jquery中,當前的對象是用$(this)表示,這些都是最基礎的知識,沒什么可說的,但我要說的是,當this出現在某個深度時,它的含義你自己要清楚,它是指離當前元素最近的那個當前對象,而不是其它對象.

this舉例

例如,在一個function表示的類中,它內部可能有自己的方法,而在方法里的this就表示當前方法對象,而不是function級別的類對象,代碼如下

var Cart=function(){
var self=this;//這個是當前function對象
self.Add=function(){
var insertObj=this;//這個是當前Add方法對象
}
}

$(this)舉例

對于Jquery也是一個的,如在一個click事件中,還有$.post方法,這時,$.post方法里的$(this)與方法外的$(this)就是兩個含義的,所以,如果希望在$.post方法里使用click對象的this,一般需要在$.post方法外去先聲明,代碼如下

     //刪除
        $(".deleteBtn").click(function () {
            var self = $(this);//當前click事件源對象
            $.post("/course/DelCourse?id=" + $(this).attr("value"), function (data) {
                if (data.code == 1) {
                    self.closest("div.titDefault").remove();
                }
            });
        });

 


文章列表




Avast logo

Avast 防毒軟體已檢查此封電子郵件的病毒。
www.avast.com


arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()