时间:2021-07-22 07:46:46 | 栏目: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);
然后在使用就可以了
总结