这是我的代码。在您看到“alert([...]);”的地方,会弹出一个警告。为什么CSS样式不会改变? “点击”事件也不会开火!
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()并且无法改变链接的颜色。
答案 0 :(得分:0)
首先,您实际上并没有触发click事件,而是将单击处理程序应用于链接。在您实际点击链接之前,它不会触发。如果您希望运行现有的点击处理程序,可以尝试link.click()
(不使用该功能)。如果您希望实际获取链接,则只需将位置设置为链接的href属性的值即可。其次,我不确定为什么没有正确应用CSS。它看起来不错。我建议使用Firefox / Firebug并在函数运行后检查元素以查看实际使用的样式。
答案 1 :(得分:0)
尝试使用$(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);
}
}