【发布时间】:2015-03-06 11:33:31
【问题描述】:
有多个具有公共类的 div。我想在悬停时使用它的类来隐藏/显示每个 div。我更喜欢使用 mouseenter / mouseleave。但问题是$target = this.id; 似乎不起作用。
如何使用类显示/隐藏 DIV?
$(".zz")
.on( 'mouseenter', function() {
$target = this.id;
if( $target.is(':visible') ) return;
$target.hide();
})
.on( 'mouseleave', function() {
$target = this.id
if( !$target.is(':visible') ) return;
$target.show();
});
编辑: jsFiddle
【问题讨论】:
-
首先,
this.id是一个字符串,所以你不能在它上面调用 jQuery 方法。您应该使用$(this)来引用引发事件的元素。最后,如果元素被隐藏了,怎么能悬停再次显示呢? -
除非您在未显示的地方声明了
$target,否则您将成为The Horror of Implicit Globals 的牺牲品。 -
@RoryMcCrossan:谢谢。抱歉错字。我现在已经修好了。
-
我不明白...投反对票的理由是什么?
-
我也不明白。您正在尝试并遇到代码和逻辑问题。我想我们是来帮助你的!
标签: javascript jquery html css