JQuery .css(“color”,“wanted_color”)不起作用,提醒正确的颜色

时间:2012-11-27 04:15:50

标签: javascript jquery css

这很奇怪,我不知道为什么。我正在设置我的div的字体颜色,但它不起作用。设置颜色后,我正在警告它正确警告。根本就没有显示颜色变化。

$("div.page").each(function() {
    if (!isNaN(parseFloat(this.id)) && isFinite(this.id) && this.id != page) {
        $(this).mouseover(function() {
            $(this).css("color", "blue");
            alert($(this).css("color"));
        });
    }
});

以下是我的测试网站的链接:http://az-web.info/repository/

将鼠标悬停在'2'(页面选择器上的'1'下方),您会看到它没有变化,但会正确发出警报。

1 个答案:

答案 0 :(得分:5)

您需要查看您的 HTML的结构。正在悬停的div包含<font>个元素,这些元素具有覆盖任何继承的color样式的color属性。您需要更改该值,例如:

$("div.page").each(function() {
    if (!isNaN(parseFloat(this.id)) && isFinite(this.id) && this.id != page) {
        $(this).mouseover(function() {
            $(this).find("font").attr("color", "blue");
            //alert($(this).css("color"));
        });
    }
});

我认为你还想要一个mouseout事件在你离开它时删除它。由于这种洞察力,使用类这样的东西可能是一个更好的主意,因此您可以添加/删除更容易维护的类。现在想一想,使用:hover伪类选择器完全使用CSS可能更容易。这是否意味着您甚至需要<font>由您决定。如果你有理由按照自己的方式做所有事情,那么继续坚持下去。否则,您可能需要修改以获得更好的维护/结构。