繁体   English   中英

jQuery:选择后无法更改元素的样式

[英]jQuery: Cannot change style of element after selected

这是我的代码。 在看到“ 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(),也不能那样更改链接的颜色。

首先,您实际上并不是在触发click事件,而是在链接上应用了click处理程序。 除非您实际点击该链接,否则它将不会触发。 如果要运行现有的单击处理程序,可以尝试link.click() (不带该功能)。 如果要实际使用链接,则只需将位置设置为链接的href属性的值。 其次,我不确定为什么CSS无法正确应用。 在我看来还可以。 我建议在功能运行后使用Firefox / Firebug并检查元素,以查看实际使用的样式。

尝试使用$(link)而不是像这样的链接:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM