我正在使用 JavaScript 制作一些可点击的 div。我想使用 CSS 让用户明白它们是可点击的,例如当鼠标进入 div 时更改 div 内链接的颜色。
在 CSS 中是:
#menu > div:hover > a {
color: #f00;
}
它就像一个魅力。
我希望仅当启用 JavaScrpt 时鼠标悬停时链接的颜色才会改变,因为如果它被禁用,则 div 不可点击,只有链接可以。我想用 javascript 添加这个声明,在 mootools 中应该像这样简单:
$$('#menu > div:hover > a').setStyle('color', '#f00');
但是那个选择器在 mootools 上不起作用。我应该为 #menu
和 addEvents
的 each
div 子元素寻找它。与简单的 css 定义相比,这对我来说似乎太多了。我怎样才能做到这一点?
替代解决方案(我不知道如何实现)可以编写一个 with_js_enabled.css
来通过 javascript 加载。可能吗?
最佳答案
更简单:在页面加载时在 body 元素上设置一个类:
document.body.className = "js";
然后修改你的CSS;
.js #menu > div:hover > a {
color: #f00;
}
工作完成:-)
(尽管我假设您知道 IE 6 不支持 :hover 除了链接之外的任何内容?)
关于javascript - 使用 JavaScript(如果需要,还可以使用 mootools)为我的 CSS 创建新定义。选择器问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1226775/