jQuery obtient une mauvaise valeur lors de l'obtention de l'attribut de données
P粉052724364
P粉052724364 2023-11-01 23:01:19
0
1
531

J'ai un div avec des attributs de données

J'ai un script comme celui-ci

$('button').click(function(){ var loc = $('.p1').data('location'); alert('data location is'+loc);//SHOW THE DATA var num = 10; var count = loc; var element = $('.p1'); var intv = setInterval(anim,1000); function anim(){ count++; num--; if(count==37){count = 1;} if(num==1){clearInterval(intv);} $(element).animateCSS('bounceOut',{ callback: function(){ $(element).attr('data-location',count); $(element).animateCSS('bounceIn'); } }); } anim(); });

Avec le script ci-dessus, la propriété de position des données est mise à jour à 10, mais si je clique à nouveau sur le bouton, la position des données est toujours 1

P粉052724364
P粉052724364

répondre à tous (1)
P粉183077097

Utilisez.data()访问data-*属性时,该属性的值由 jQuery 内部缓存,并且.data()从那时起就使用缓存。使用.attr()更新属性不会更新缓存,您需要使用.data()pour la première fois pour le mettre à jour. C'est pourquoi vous devez utiliser

$(element).data('location', count);

Mettez-le à jour.

    Derniers téléchargements
    Plus>
    effets Web
    Code source du site Web
    Matériel du site Web
    Modèle frontal
    À propos de nous Clause de non-responsabilité Sitemap
    Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!