como manipular, no document.ready, elementos que foram criados no document.ready

Aqui está o cenário: eu tenho um script menubar.js, que, quando a página é carregada, consulta o servidor em busca de permissões do usuário e cria uma barra de menus com base neles. fragmento de código

$(function () {
    //initialize the header buttons according to user's permissions
    InitializeCurrentUser();
});

function InitializeCurrentUser() {
    //get current user
    $.ajax(
            {
                url: "../Login/LoginService.asmx/GetCurrentUser",
                success: function (result) {
                    var currentUserRoles = result.d;
                    output = '<ul class="Header">   ';
                    if ($.inArray("reports", currentUserRoles) > -1) {
                    output += '<a href="../Reports/Reports.aspx" ><li id="lnkReports">Reports </li></a>';
                    }
                    //etc...
                    console.log('generating menu');
                    $("#HeaderMenu").html(output);
                }
            });
}

Este script está incluído em todas as minhas página
Agora, eu gostaria de marcar o<li> representando a página atual com uma classe 'atual'
Eu já adicioneivar currentPage no meu script menubar.js e em cada página (por exemplo, em reportsPage.js):

$(function() {

    //set this page as the current page; 
    currentPage = Enum.Page.Reports;
});

e no menubar.js: uma função que é chamada em document.ready:

function SetCurrentPage() {
    $("#HeaderMenu li").removeClass('current');
    var liElement = null;
    switch (currentPage) {

        case Enum.Page.Reports:
            liElement = $("#lnkReports");
            break;
    }

    console.log('adding a class to: ');
    console.log(liElement);
    liElement.addClass('current');
}

o log que recebo é:

> generating menu
> adding a class to: 
> []

parece que o elemento que estou procurando ainda não foi adicionado ao DOM.
Acho que deveria haver alguma solução usandolive(), mas quando eu tentolive('load',...) nunca é chamado ...

questionAnswers(2)

yourAnswerToTheQuestion