【发布时间】:2011-05-12 01:00:40
【问题描述】:
我有一些按钮,当单击它们时,会调用 jQuery 来删除和替换它们的类。我要调用的 jQuery.mouseover 事件忽略了被操作的类,只服从页面加载中的类。
这是一个例子JSFiddle
详情如下:
我有一排按钮,当滚动时调用一些 jQuery 以将 .highlighted 类添加到页面上其他位置的对象:
这里是 HTML 示例:
<ul id="portfolioLinks">
<li class="activeButton kittens"><a class="kittens" href="#"></a></li>
<li class="activeButton otters"><a class="otters" href="#"></a></li>
<li class="depressed donkey"><a class="donkey" href="#"></a></li>
</ul>
以及对应的jQuery代码:
var selectedType = '.' + $(this).attr('class');
$("li.activeButton a").mouseenter(function() {
var selectedType = '.' + $(this).attr('class');
$("div.pageContent div" + selectedType).addClass('highlighted');
});
$("#portfolioLinks a").mouseleave(function() {
$("div.pageContent div").removeClass('highlighted');
});
这适用于页面加载的静态内容,但是当我点击一个按钮时,我得到
jQuery 将 .depressed 类添加到 $(this) 并给所有其他 .activeButton:
$("#portfolioLinks a").click(function() {
$("#portfolioLinks li").addClass('activeButton').removeClass('depressed');
$(this).parent().removeClass('activeButton').addClass('depressed');
//do some other stuff
});
但是,它似乎完全忽略了更改的类,并继续突出显示与缺少 .activeButton 类的按钮匹配的 div。
我昨晚和今天早上的大部分时间都在试图解决这个问题。我已经尝试了各种.nots、:nots 和ifs,但我现在完全迷路了。
任何指导将不胜感激。
【问题讨论】:
标签: class jquery-selectors jquery