Html5 数据属性在 ajax 请求后未更新


Html5 data attribute is not updating after ajax request

>我有两个数据属性,一个每秒递减一次,当第一个属性达到 0 时为 0 发送 ajax 请求以获取第二个数据值,但是当我将值设置为第二个数据属性时,html 中没有更改,但当我打印时它更改!!

我的代码

       setInterval(
        function () {
            if ($j('#auctions-widget .auction_hours').length) {
                var auctions_hours = [];
                $j('#auctions-widget .auction_hours').each(function () {
                    auctions_hours.push($j(this).data('auction-id'));
                });
                for (var i = 0; i < auctions_hours.length; i++) {
                    checkAuctionHours(auctions_hours[i]);
                }
            }
        }
        , 1000);
 function checkAuctionHours(auction_id) {
        //var TimeWorker =  new Date();
        var auction_hours = $j("body").find(".auction_hours[data-auction-id='" + auction_id + "']");
        if (auction_hours.length) {
            //if(auction_id == 1637 && (auction_hours.data("open-contest-hours") !=0 || auction_hours.data("close-contest-hours")!=0) ){
            //console.log('time to open-contest-hours: ' + auction_hours.data("open-contest-hours") + ' id= ' + auction_id);
            //console.log('time to close-contest-hours: ' + auction_hours.data("close-contest-hours") + ' id= ' + auction_id);
            //}
            if (auction_hours.data("open-contest-hours") != 0) {
                auction_hours.data("open-contest-hours", auction_hours.data("open-contest-hours") - 1);
                console.log('time to open-contest-hours: ' + auction_hours.data("open-contest-hours") + ' id= ' + auction_id);
                //validate_auctions_hours_time(auction_id, 'open');
                //console.log('open');
                //console.log(auction_id);
                if (auction_hours.data("open-contest-hours") == 0) { //time to open auction based on auction hours
                    //send the ajax to check;
                    //console.log('open');
                    validate_auctions_hours_time(auction_id, 'open');
                }
            } else if (auction_hours.data("close-contest-hours") != 0) {
                auction_hours.data("close-contest-hours", auction_hours.data("close-contest-hours") - 1);
                console.log('time to close-contest-hours: ' + auction_hours.data("close-contest-hours") + ' id= ' + auction_id);
                //validate_auctions_hours_time(auction_id, 'close');
                if (auction_hours.data("close-contest-hours") == 0) { //time to close auction based on auction hours
                    //send the ajax to check;
                    //console.log('close');
                    validate_auctions_hours_time(auction_id, 'close');
                }
            } else if (auction_hours.data("open-contest-hours") == 0 && auction_hours.data("close-contest-hours") == 0) {
            } else {
            }
        }
    }

阿贾克斯代码

function validate_auctions_hours_time(auction_id, auction_hours_status) {
$.ajax({
    async: true,
    url: my_ajax_script.ajaxurl,
    type: 'POST',
    data: ({
        type: 'POST',
        action: 'validate_auction_hours_time',
        auction_id: auction_id,
        auction_hours_status: auction_hours_status
    }),
    success: function (response) {
        var auction_hours = $("body").find(".auction_hours[data-auction-id='" + auction_id + "']");
        var auction_hours_img = '';
        if (response.time_status == 'OK') {
            if (response.auction_hours_open_time) { //close auction till next from auction hours
                //auction_hours.data('open-contest-hours', response.auction_hours_open_time);
                auction_hours.attr('data-open-contest-hours', response.auction_hours_open_time);
                console.log(auction_hours.attr('data-open-contest-hours'));
                auction_hours_img = $("body").find(".open-hours-active[data-auction-hours-img='" + auction_id + "']");
                auction_hours_img.removeClass('open-hours-active');
                auction_hours_img.parent().removeClass('auction_hours_blink').removeClass('auction_hours_reset_blink');
                auction_hours_img.parent().addClass('auction_hours_blink');
                auction_hours_img.addClass('open-hours-deactive');
                $('#' + auction_hours_img.data('selector')).html(response.tool_tip);
            } else if (response.auction_hours_close_time) { //open auction till next to auction hours
                //auction_hours.data('close-contest-hours', response.auction_hours_close_time);
                auction_hours.attr('data-close-contest-hours', response.auction_hours_close_time);
                console.log(auction_hours.attr('data-close-contest-hours'));
                console.log(auction_hours);
                auction_hours_img = $("body").find(".open-hours-deactive[data-auction-hours-img='" + auction_id + "']");
                auction_hours_img.removeClass('open-hours-deactive');
                auction_hours_img.parent().removeClass('auction_hours_blink').removeClass('auction_hours_reset_blink');
                auction_hours_img.parent().addClass('auction_hours_blink');
                auction_hours_img.addClass('open-hours-active');
                $('#' + auction_hours_img.data('selector')).html(response.tool_tip);
            }
        }
        else if (response.time_status == 'RESET') {
            if (response.auction_hours_open_time) { //sync auction to auction hours
                auction_hours_img = $("body").find(".open-hours-deactive[data-auction-hours-img='" + auction_id + "']");
                auction_hours.data('open-contest-hours', response.auction_hours_open_time);
                auction_hours_img.parent().removeClass('auction_hours_reset_blink').removeClass('auction_hours_blink');
                auction_hours_img.parent().addClass('auction_hours_reset_blink');
            } else if (response.auction_hours_close_time) { //sync auction from auction hours
                auction_hours_img = $("body").find(".open-hours-active[data-auction-hours-img='" + auction_id + "']");
                auction_hours.data('close-contest-hours', response.auction_hours_close_time);
                auction_hours_img.parent().removeClass('auction_hours_reset_blink').removeClass('auction_hours_blink');
                auction_hours_img.parent().addClass('auction_hours_reset_blink');
            } else {
            }
        }
    },
    error: function (jqXHR, textStatus, errorThrown) {
        response_errors_handling(jqXHR, textStatus, errorThrown);
    }
});
最后,

我尝试在所有代码中用auction_hours.attr替换所有auction_hours.data,并且工作正常。