конечно, нет, иначе другие сценарии не распознали бы его. проблема не в значении этой переменной - значение установлено отлично. проблема в том, что селектор возвращает пустой

ценарий: у меня есть сценарий menubar.js, который при загрузке страницы запрашивает у сервера разрешения пользователя, а затем создает на их основе меню. фрагмент кода:

$(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);
                }
            });
}

Этот скрипт включен во все мои страницы.
Теперь я хотел бы отметить<li> представляющий текущую страницу с «текущим» классом.
я добавилvar currentPage к моему сценарию menubar.js и на каждой странице (например, в reportsPage.js):

$(function() {

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

и в menubar.js: функция, которая вызывается для 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');
}

журнал, который я получаю:

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

так что кажется, что элемент, который я ищу, еще не был добавлен в DOM.
Я думаю, что должно быть какое-то решение, использующееlive(), но когда я пытаюсьlive('load',...) это никогда не называют ...

Ответы на вопрос(2)

Ваш ответ на вопрос