关于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