更改图片alt标签实际上未反映在浏览器中

时间:2018-08-12 16:40:47

标签: jquery html html5 image alt

这是我的ajax查询。它从服务器检索一些数据,淡出图像,更改图像,然后淡入。

$(document).ready(function() {
    setInterval(function() {
        $.ajaxSetup({ cache: false });

        //alert("launching...");
        const rvtoken = $("input[name='__RequestVerificationToken']").val();
        const moduleId = @Dnn.ModuleContext.ModuleId;
        const tabId = @Dnn.ModuleContext.TabId;

        $.ajax({
            cache: false,
            dataType: 'json',
            url: "/DesktopModules/MVC/LH.Home/Home/GetAssociation",
            method: "Post",
            headers: {
                "ModuleId": moduleId,
                "TabId": tabId,
                "RequestVerificationToken": rvtoken,
                "AssociationID": $("#hfAssociationID").val()
            },
            success: function(data) {
                $("#associationDiv").fadeOut(3000,
                    function() {
                        $('#discoverLink').attr("href", `/Association/${data.Title}`);
                        $('#SelectedAssociationLink').attr("href", `/Association/${data.Title}`);
                        $('#SelectedAssociationImg').attr("src",
                        `/portals/@Dnn.ModuleContext.PortalId/assets/associations/${data.Slug}/images/img1.png`);
                        $('#SelectedAssociationImg').attr("alt", `${data.Title} icon`);
                    });
                    $("#associationDiv").fadeIn(3000);
                    $("#hfAssociationID").val(data.AssociationID);

                },
                error: function(jqXHR, textStatus, errorThrown) {
                    console.log(textStatus);
                    console.log(errorThrown);
                    console.log(jqXHR);
                }
            });
        },
        30000
    );
})

一切正常。 href链接已更改,图像也已更改。

问题是图片的替代文本。当我检查元素时,我可以看到它的变化,但是当我将鼠标悬停在图像上时,所显示的alt标签文本与加载文档时的文本相同。

如何使鼠标悬停替代文本正确显示?

3 个答案:

答案 0 :(得分:2)

之所以可能发生这种情况,是因为浏览器在页面加载时存储了alt标记,然后不反映对其所做的任何更改。在这种情况下,解决此问题的一种方法是简单地删除图像,并重新插入新属性。

$('#SelectedAssociationImg').replaceWith("<img id='SelectedAssociationImg' src='newSrc' alt='newAlt'/>")

请记住将newSrcnewAlt替换为您想要的任何内容。

答案 1 :(得分:0)

alt不是鼠标悬停在图像上时显示的内容,title

答案 2 :(得分:-1)

请确保您清除了Web浏览器的缓存,并在之后进行了完全刷新 您需要对JavaScript进行修改。