首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过ajax获取修改后的属性?

如何通过ajax获取修改后的属性?
EN

Stack Overflow用户
提问于 2016-08-06 03:15:02
回答 1查看 25关注 0票数 0

我有一个函数,通过ajax改变元素的数据属性。

下一次我想要得到相同元素的修改后的数据属性,但是我得到了前一个数据属性的值,尽管属性已经改变了。

那么,我做错了什么呢?

示例:

代码语言:javascript
复制
$(function(){
  $(".class1").on("click", function(){
     var attribute_data = $(this).data("attribute");
     $.ajax({
       ... // Handle
       success:function(data){
           $(this).data("attribute") === "2";
       }
     });
   }); 
  
  
  
  $(".class1").on("click",function(){
    var modified_attribute_data = $(this).data("attribute");
    console.log(modified_attribute_data); // will return "1" instead "2"
  });

});
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="class1" data-attribute="1">
  Content
 </div>

EN

回答 1

Stack Overflow用户

发布于 2016-08-06 03:27:48

如果您这样做了:

代码语言:javascript
复制
$(".class1").on("dblclick", function(){
      $(this).hide();
      var attribute_data = $(this).data("attribute");
      $.ajax({
         ... // Handle
         success:function(data){
         $(this).data("attribute") === "2";
         $(this).show();
      }
   });
});

然后单击:

代码语言:javascript
复制
  $(".class1").on("click",function(){
    var modified_attribute_data = $(this).data("attribute");
    console.log(modified_attribute_data); // will return "2"
  });

我建议将触发它的事件分开,或者以某种方式阻止其中一个,就像切换一个类一样……记住,ajax是异步的,所以不要期望它会立即改变……

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38796346

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档