运行 活动锚上的功能

Run function on active anchor

我是 jQuery 的新手,如果设置了 div 的锚点 ID,我想突出显示 div。

我目前有这个结构,它只适用于附加了有效锚点的页面加载。

$(document).ready(function(){
    var divpost = window.location.hash.substr(1);
    if($.isNumeric(divpost)){
        $('#reply_' + divpost).css('background-color', '#EDA2FF');
    }
});

这仅适用于带有设置锚点的页面加载。我怎样才能使它更具动态性,以便脚本在锚点更改时执行?

您可以将其设为函数并在每次更新时调用它。

function updateAnchors() {
    var divpost = window.location.hash.substr(1);
    if($.isNumeric(divpost)){
        $('#reply_' + divpost).css('background-color', '#EDA2FF');
    }
}

然后在加载更多锚点时调用updateAnchors()

jQuery 可以连接到 hashchange event 所以你可以这样做:

$(window).on('hashchange', function(e){
    var divpost = window.location.hash.substr(1);
    if($.isNumeric(divpost)){
        $('#reply_' + divpost).css('background-color', '#EDA2FF');
    }
});