我有一个<ul>
与大量<li>
的它下面。其中每个<li>
的内都有一个隐藏的<div class=dbox">
。为<li>
的和它们的内容的结构/层次是:JQuery隐藏元素不工作
- >利
---->可见的内容(H3,IMG,P等)
---->隐藏的div .dbox
-------> div.photos
-------> div.specs
当点击<li>
的图像(总是可见),<div class="dbox">
然后给定显示器=块。到现在为止还挺好。然后我搜索了网页,以便在点击外部时关闭.dbox。我得到这个工作:
var mouse_is_inside = false;
$('.dbox').hover(function(){
mouse_is_inside=true;
}, function(){
mouse_is_inside=false;
});
$("body").mouseup(function(){
if(! mouse_is_inside) $('.dbox').hide();
});
点击外部.dbox现在使其关闭。到现在为止还挺好。下一步是添加了“关闭此窗口按钮,但高科技,萨维用户,所以,在<div class="specs">
内,我加了最后一个元素,<span class="close">
然后递给了这个jQuery代码:
$('span.close').click(function() {
$(this).parent().parent().hide();
});
,没有工作。我与父母进行了测试('。dbox'),但它也没有工作。有趣的是,它只有当我的目标.dbox隐藏不起作用。如果我这样做:
$(this).parent().hide();
这将关闭包含分区,<div class="specs">
,它的工作原理,有效地关闭<div class="specs">
我则认为有某种冲突与“外单击”代码,以便我把它删除了,错误依然存在......这让我在这里问你有关这种困境的知识型研究员。
在此先感谢 G.Campos
我得到它的工作:$(this).parents('。dbox')。隐藏(1); 只有当hide()为空时才会发生任何事情。添加1或任何数字的窍门。为什么它不是0虽然? – Sotkra
如果你在http://jsbin.com/或者http://jsfiddle.net/ – Acorn
@Sotkra上举个例子,它会有所帮助:你能否确认在“li”时显示“dbox”'div'?点击_image_而不是点击'li'本身? –