锚上的removeAttr(“href”)也删除了文本颜色

时间:2011-04-04 08:59:35

标签: javascript jquery css jquery-ui jquery-selectors

我有一个使用JQuery和JQuery UI的网站。

对于某些链接,我不想使用JQuery UI Theme的颜色,所以我用自己的css覆盖了。

这一切都奏效,直到我使用$("#a_about").removeAttr("href")从锚点中删除href(这样链接实际上不起作用,我只想抓取点击动作) 令我惊讶的是,它还删除了我的css应用的颜色,并返回到JQuery UI Theme之前应用的颜色。

我尝试更改应用颜色的元素(锚点本身,父容器等等),但没有任何帮助。 感谢...

4 个答案:

答案 0 :(得分:3)

而不是:

$("#a_about").removeAttr("href")

使用:

$("#a_about").attr("href","javascript:;")

答案 1 :(得分:3)

这是因为在某些浏览器上,没有属性a的锚href被视为普通文本。因此,请尝试将href更改为javascript:;,而不是将其删除。

答案 2 :(得分:2)

没有href的锚点并不是真正的链接。正如其他人所说,将其设置为#并“取消”点击,也有:

$("#a_about").attr("href", "#").click(function() { return false; });

答案 3 :(得分:1)

请勿触摸href。而是在事件处理程序中Prevent the default action

这样,如果人们(例如,中间点击它),链接将继续有效。