这里有什么问题:
function deluser() {
var id = $('.nameact').attr('data-id');
$.post('users-pro-del.php', {id}, function(data) {
$('.nameact').remove();
$('.namesingle').eq(0).addClass('nameact');
});
}
users-pro-del.php
- 从数据库中删除用户。
所以我想从屏幕上删除相应的项目
$('.nameact').remove();
并将active
状态提供给另一个(第一个)项:
$('.namesingle').eq(0).addClass('nameact');
有时它工作正常。
但更常见的是 - $('.namesingle').eq(0)
也被删除了!
正如我在控制台中看到的那样 - 每个时刻只有一个.nameact
。
任何帮助?
答案 0 :(得分:1)
Ajax具有异步性质。在ajax请求之后,$ .post之前的id = $('。nameact')可能与$('。nameact')不同。最好在ID处随意引用nameact。
<img src="https://picsum.photos/200/300/" />
<img class="people" src="https://picsum.photos/200/300/" />
<img attr="some-attr" src="https://picsum.photos/200/300/" />
<img src="https://picsum.photos/200/300/?blur" />
}