这很奇怪,我不知道为什么。我正在设置我的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'下方),您会看到它没有变化,但会正确发出警报。
答案 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>
由您决定。如果你有理由按照自己的方式做所有事情,那么继续坚持下去。否则,您可能需要修改以获得更好的维护/结构。