我有一个动态填充信息的循环。
<div class="main">
<div class="more">
more
</div>
<span></span>
....
<div class="more">
more
</div>
<span></span>
</div>
点击我打电话的特定div&#34; ajax&#34; - 成功之后,我想覆盖特定div的内容和下一个内容。
$(document).on("click", ".more", function (event) {
$.ajax({
url: '..',
datatype: 'application/json',
success: function (data) {
$(".more",this).html("Update Dev"); //update div
$(".more",this).find('span:first').text("Update Span"); //update span
},
error: function () { alert('something bad happened'); }
});
});
我如何访问被点击的元素。
由于
答案 0 :(得分:2)
您可以使用$(this)
内部点击处理程序来获取点击的按钮。确保在单击处理程序中捕获它,而不是在AJAX回调中捕获它:
$(document).on("click", ".more", function (event) {
var clickedDiv = $(this); // <- capture clicked div to variable
$.ajax({
url: '..',
datatype: 'application/json',
success: function (data) {
// use captured div to set the contents
clickedDiv.html("Update Dev");
// use captured div and function next() to get the span element
clickedDiv.next('span').html("Updated span"); // then update span
},
error: function () { alert('something bad happened'); }
});
});