我在PHP / MySQL生成的单个页面上有多个展开/折叠框。
问题是,当我点击一个链接展开一个框时,它会展开所有框。
我考虑过在课程末尾添加帖子ID(<div class="postreplycontainer-POST_ID">
),但我不确定这是否有效,因为我必须想办法改变jQuery。
以下是一个有效的例子:http://jsfiddle.net/Draven/kUhkP/35/
请记住,我无法在每个框中手动编码,因为我从数据库中提取内容。
编辑:也许有人可以帮助我解决其他问题。
我希望在展开textarea
时关注<div>
框。我尝试使用与之前相同的技巧(使用.closest
,但这不起作用)。
以下是示例:http://jsfiddle.net/Draven/kUhkP/53/
此示例将始终关注第一个<textarea>
。
答案 0 :(得分:9)
这是 FIDDLE
$("a.postreply").click(function () {
$(this).closest('.blog-container')
.find('.postreplycontainer').slideToggle("fast");
});
答案 1 :(得分:0)
如果您致电$("div.postreplycontainer")
,您将访问所有div,如果div总是在桌子后面,您可以使用
$("a.postreply").click(function() {
$(this).parents('table').next().slideToggle("fast");
});
答案 2 :(得分:0)
我认为这对你的问题应该没问题。
$("a.postreply").click(function () {
$(this).closest('.blog-table').next().slideToggle("fast");
});