当我点击新条目时,这会关闭上一个菜单条目,但是这样 当我再次点击相同的条目时菜单保持打开状态不起作用。
我不知道语法是如何检查先前和当前条目是否 同样只做隐藏。
$(document).on("click", ".library-item-title", function (e) {
e.preventDefault();
var entry_id = $(this).data("id");
toggleDropdown(entry_id);
});
function toggleDropdown(entry_id) {
$(".library-edit-dropdown").hide("slow");
$("#library-edit-dropdown-" + entry_id).show("slow");
}
http://jsfiddle.net/patelmilanb1/LzaZT/1/
任何人都可以帮助我吗?
答案 0 :(得分:0)
您可以使用toggle
和not
方法:
function toggleDropdown(entry_id) {
$(".library-edit-dropdown")
.not( $("#library-edit-dropdown-" + entry_id).toggle("slow") )
.hide("slow");
}
请注意,上述查询可能很昂贵。您正在使用事件委派,这可能意味着您正在动态生成元素,但如果可以进行缓存,则应缓存集合并重新使用它。
答案 1 :(得分:-1)
使用此脚本。
<script type="text/javascript">
$(function() {
$('tr.parent')
.css("cursor","pointer")
.attr("title","Click to expand/collapse")
.click(function(){
$(this).siblings('.child-'+this.id).toggle("show");
});
$('tr[@class^=child-]').hide().children('td');
});
</script>
并在表格的父元素中使用它。
class="parent" id="main_someid"
这是表中的孩子。
class="child-main_someid"
它对我有用。你可以通过提供迭代的someid变量来解决它。
检查小提琴。
http://jsfiddle.net/makicool/LzaZT/2/