Javascript 影响多个div的jQuery click函数

Javascript 影响多个div的jQuery click函数,javascript,jquery,Javascript,Jquery,我试图使用jQuery的click函数将悬停状态应用于选定的div,而不区分JavaScript中的div。我目前正在使用: $(document).ready(function(){ $(".project").click(function() { $("a.expand").removeClass("hovered"); $("a.expand").addClass("hovered"); $(".projec

我试图使用jQuery的click函数将悬停状态应用于选定的div,而不区分JavaScript中的div。我目前正在使用:

 $(document).ready(function(){
    $(".project").click(function() {
            $("a.expand").removeClass("hovered");
            $("a.expand").addClass("hovered");
            $(".project_full").hide();
            var selected_tab = $(this).find("a").attr("href");
            $(selected_tab).fadeIn();
            return false;
        });
使用HTML:

<div class="project first project_gizmoscoop">
  <div class="title">
     GizmoScoop!                    
     <div class="date">2012</div>
  </div>
  <a class="expand" title="(Caption)" href="#project_1">GizmoScoop!</a>
</div>
<div class="project project_sc">
  <div class="title">
     Striking Code                  
     <div class="date">2011</div>
  </div>
  <a class="expand" title="(Caption)" href="#project_2">Striking Code</a>
</div>

GizmoScoop!
2012
惊人的代码
2011
.hover类应用于单击的链接(外部CSS文件中的特定样式)。然而,一切都在选择之中。(参见示例)


我知道我做错了什么(我应该指定个人ID或使用HTML5数据属性),但我被不必要地卡住了。我现在感觉自己像一个完全的新手,我不能做这么简单的事情(尽管我做了更高级的东西)。

您只需要利用jQuery的灵活性(以及良好的编程实践)并相应地缩小范围。您已经在对变量定义进行类似的操作。例如,要仅针对已单击的
.project
实例中的
a.expand
元素,请执行以下操作:

$(".project").click(function() {
    $(this).find("a.expand").removeClass("hovered");
    ...
});

顺便说一句,您在示例代码中添加和删除同一个类(.hovered)。代码对我来说不是很好!它分别应用了每种方法,但遵循isherwood的示例为我提供了一种更干净的方法来禁用单击(并保持选项卡完整)。你说得对!我将$(这个)应用于添加类的操作(保持不变的.removeClass),一切都很好!我知道这是件小事,但我就是想不起来!谢谢
$(".expand").click(function() {
        $(this).addClass("hovered");
        ..
    });