代码之家  ›  专栏  ›  技术社区  ›  Chris

更改图像alt标记实际上不会反映在浏览器中

  •  1
  • Chris  · 技术社区  · 6 年前

    这是我的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
        );
    })
    

    问题是图像的alt文本。我可以在检查元素时看到它的变化,但是当我滚动图像时,显示的alt标记文本与加载文档时的文本是一样的。

    如何使滚动alt文本正确显示?

    3 回复  |  直到 6 年前
        1
  •  2
  •   olfek crash843    6 年前

    这可能是因为浏览器在页面加载时存储alt标记,然后不反映对它所做的任何更改,如果是这样,一种解决方法是简单地删除图像,然后用新属性重新插入它。

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

    记得更换 newSrc newAlt 你想让他们成为什么样的人。

        2
  •  0
  •   Scott Marcus    6 年前

    alt title 是。

        3
  •  -1
  •   Dowda    6 年前

    确保清除Web浏览器的缓存并在