如果将.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;
});
我希望有人可以帮助我,谢谢!
答案 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()
。