【发布时间】:2011-07-09 17:12:42
【问题描述】:
我正在尝试做一些相当简单的事情,但我可能遗漏了一些东西......
我有这个代码:
var $highlights = $j("div.ab-highlights ul li a");
$highlights.hover(
function () {
$j(this).children().addClass('active');
for (i=0; i < $highlights.length; i++)
{
if ($highlights[i] != this)
{
console.log(i);
($highlights.parent()[i]).addClass('lowOpacity');
}
}
},
function () {
$j(this).children().removeClass('active');
}
);
底线是我正在尝试将一个类(“lowOpacity”)附加到所有元素,除了我正在滚动的元素。问题是它不起作用。不工作的线路是
($highlights.parent()[i]).addClass('lowOpacity');
我错过了什么?
【问题讨论】:
-
错误消息应该给出一些指示什么是错误的。阅读它们:)
-
您不需要为所有父母设置相同的班级。如果您正确指定您的 CSS,您应该能够将类放在您想要影响的顶级父级上,并让所有子级自动受该顶级类的影响。这只是使用正确的 CSS 的问题,但它会让你的 JS 更简单。
标签: javascript jquery css mouseover rollover