您的位置:首页 > Web前端 > JQuery

关于jquery中封装函数如何传递当前元素的问题

2017-02-24 17:29 309 查看
需要对页面上一组元素进行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);然后在使用就可以了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐