jQuery: невозможно изменить стиль элемента после выбранного - PullRequest
0 голосов
/ 04 мая 2010

Вот мой код. Там, где вы видите «alert ([...]);», появляется предупреждение. Почему стиль CSS не меняется? Событие 'click' также не срабатывает!

resolveSideMenuAddress: function () {
    var firstLink = $("#masterHeaderMenu .masterHeaderMenuButton a:first");

    function select(link) {
        alert('i alert');
        link.css({
            'color': '#9a4d9e',
            'cursor': 'default'
        });
        alert('color and cursor not changed');
        link.click(function () {
            alert('click');
            return false;
        });
    }

    if (window.location.pathname === firstLink.attr('href')) {
        alert('i alert');
        select(firstLink);
    }
}

Я пробовал addClass () и не могу изменить цвет ссылки таким же образом.

Ответы [ 2 ]

0 голосов
/ 04 мая 2010

попробуйте использовать $ (ссылка) вместо просто ссылки как это:

resolveSideMenuAddress: function () {
    var firstLink = $("#masterHeaderMenu .masterHeaderMenuButton a:first");

    function select(link) {
        alert('i alert');
        $(link).css({
            'color': '#9a4d9e',
            'cursor': 'default'
        });
        alert('color and cursor not changed');
        $(link).click(function () {
            alert('click');
            return false;
        });
    }

    if (window.location.pathname === firstLink.attr('href')) {
        alert('i alert');
        select(firstLink);
    }
}
0 голосов
/ 04 мая 2010

Во-первых, вы на самом деле не запускаете событие click, а применяете обработчик кликов к ссылке. Он не сработает, пока вы не нажмете ссылку. Если вы хотите запустить существующие обработчики кликов, вы можете попробовать link.click() (без функции). Если вы хотите, чтобы ссылка была фактически получена, вам просто нужно указать в качестве значения атрибута href ссылки. Во-вторых, я не уверен, почему CSS не применяется должным образом. Это выглядит нормально для меня. Я бы предложил использовать Firefox / Firebug и осмотреть элемент после запуска функции, чтобы увидеть, какие стили на самом деле используются.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...