Jquery 使用live()时无法获取属性新值

Jquery 使用live()时无法获取属性新值,jquery,Jquery,在下面的代码中,我使用jquery更新数据模式值。该值来自服务器 所以现在如果它是“阻塞”,当我点击它时,如果服务器一切正常,它将是“取消阻塞” 它将更新为“取消阻止”。我可以通过Mozilla中的开发工具看到这一点。但当我再次单击它时,仍然会得到旧值。不是新的 我在这里做错了什么,我该如何做才对 <span class="mod-user" data-mode="Block" data-handle="3">Block</span> 在这一行: $('.mod-use

在下面的代码中,我使用jquery更新数据模式值。该值来自服务器

所以现在如果它是“阻塞”,当我点击它时,如果服务器一切正常,它将是“取消阻塞”

它将更新为“取消阻止”。我可以通过Mozilla中的开发工具看到这一点。但当我再次单击它时,仍然会得到旧值。不是新的

我在这里做错了什么,我该如何做才对

<span class="mod-user" data-mode="Block" data-handle="3">Block</span>
在这一行:

$('.mod-user[data-handle="'+userHandle+'"]').attr('data-mode',preData['response']);

您正在使用.attr()。您应该始终使用.data()。

为什么要使用.attr()?使用.data()完成输出。哇!我不敢相信。成功了!那我就把它作为答案贴上去;)
$('.mod-user[data-handle="'+userHandle+'"]').attr('data-mode',preData['response']);