嵌套.click()触发器链接需要折叠主div

时间:2013-07-23 15:04:15

标签: jquery traversal

如果将.click()触发器嵌套在另一个div(名称为div.click)中,如何折叠div.collapse?

如果我在与div.collapse相同的div中使用.click()触发器,我的脚本正常工作,这是我的#main。现在我想将触发器放在一个名为“click”的div中。这是我想要的结构:

<div id="main">    
    <div class="collapse" style="display:none;">
    my content
    </div>
    <div class="click">
    <a title="Click here to see the collapse div" alt="Expand" class="expand" href="javascript:void(0);">click here</a>
    </div>
</div>

到目前为止这是我的jquery代码,因为我不知道如何让它在html结构中搜索一个div:

  $jq("a.expand").click(function() 
  {  
    // hides matched elements if shown, shows if hidden 
    $jq("a.expand").prev("div.collapse")[o.method](o.speed); 
    $jq("a.expand").prev("div.collapse").prev()[o.method](o.speed); 

    return false;
  });

我希望有人可以帮助我,谢谢!

2 个答案:

答案 0 :(得分:0)

相反,您可以使用 .toggle()

 $jq("a.expand").click(function() 
  {  
    // hides matched elements if shown, shows if hidden === Toggle
    $jq(".collapse").toggle(); 

    return false;
  });

答案 1 :(得分:0)

$jq("a.expand").click(function(e)  {
    e.preventDefault();  
    // hides matched elements if shown, shows if hidden 
    $jq(this).parent().prev()[o.method](o.speed);
});

$(this)是被点击的元素。 parent()选择直接父级。 prev()选择紧邻目标元素之前的兄弟。我还将return false;替换为e.preventDefault()