關於jquery中封裝函數如何傳遞當前元素的問題


需要對頁面上一組元素進行ajax操作

<div id="aid"></div> 
<div id="aid"></div> 
<div id="aid"></div> 
<div id="aid"></div> 
<div id="stop">Stop here</div> 
<div id="aid"></div> 
<div id="aid"></div> 
<div id="aid"></div> 

  

編寫遍歷函數

function a() {
            $('div').each(function () {
                var that = $(this);
                var id = that.attr('id');
                b(id, that)
            })
        }

  首先執行函數 a()  遍歷每個元素,然后執行b() 函數進行ajax

function b(aId,that) {
            $.ajax({
                url: 'ajaxHandler.ashx',
                data: { aid: aid },
                dataType: 'text',
                type: 'post',
                async: true,
                success: function (data) {
                    var content = '';
                    if (data == 'true') {
                        content = "正確";
                    } else {
                        content = "錯誤";
                    }
                    that.html(content);
                }
            })
        }

  根據返回值 對點擊的元素賦予不同的值

    因為html元素有部分樣式一樣,所有沒有辦法根據 $("#id").html("賦值"); 進行賦值

    這兒使用this,將返回值賦予當前點擊的元素

    因為該頁面函數發生嵌套,所以需要傳遞當前元素,

    但由於種種原因,到最后可能很難使用this,仍然取到正確的當前元素,所以,可以使用一個變量來存儲this:

     var that = $(this);然后在使用就可以了

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM