1

这表现得很奇怪,我不知道为什么。我正在设置我的 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”下方),您会看到它没有改变,但会正确发出警报。

4

1 回答 1

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>由您决定。如果你有理由按照自己的方式做每一件事,那就继续坚持下去。否则,您可能需要修改以获得更好的维护/结构。

于 2012-11-27T04:18:33.040 回答