Ich habe eine Funktion, die Datenattribut des Elements durch Ajax ändern.Wie man Attribut durch Ajax erhält?
Das nächste Mal möchte ich das modifizierte Datenattribut des gleichen Elements erhalten, aber ich habe einen Wert des vorherigen Datenattributs erhalten, obwohl das Attribut geändert wurde.
Also, Was mache ich falsch?
Beispiel:
$(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"
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="class1" data-attribute="1">
Content
</div>
Du triggert beide "onclick" um zur gleichen Zeit, so dass Ajax nicht die Chance bekommen, zu beenden, bevor die Konsole Anruf und Protokoll erhält. –
Könnten Sie ein bisschen mehr klären? Im Moment haben Sie zwei Click-Handler für das gleiche Element '$ (". Class1 ")'? – pmahomme
Omg, Sie beide richtig - danke. Es ist mein Fehler. Aber ich weiß nicht, wie man einen Auslöser erstellt. Können Sie mir einen Link geben, um darüber für meine Situation zu lesen oder einfach hier zu schreiben? –