我的内容框已停用,我尝试使用.hover()
启用它,但问题是.hover()
仅适用于第一次悬停,而不是每次;内容框类为.dboxcontent
:
$('div.conbox').hover(function () {
var activeID = $(this).attr('id');
$('#' + activeID + ' .dboxcontent').show();
}, function () {
var activeID = $(this).attr('id');
$('#' + activeID + ' .dboxcontent').remove();
});
答案 0 :(得分:5)
使用.hide()
代替.remove()
,
否则你要删除那个悬停元素中的类.dboxcontent
的DOM元素。
像这样:
$('div.conbox').hover(function () {
$(this).find('.dboxcontent').show();
}, function () {
$(this).find('.dboxcontent').hide();
});
实际上你不需要jQuery,只有CSS才是最好的解决方案。
.conbox:hover .dboxcontent {
display: block;
}
答案 1 :(得分:1)
您需要.hide()
方法:http://jsfiddle.net/qVuhh/10/
如果您使用remove()
方法,则会删除该标记。
答案 2 :(得分:1)
当您执行.remove()时,实际上是从DOM中删除HTML元素。
你应该隐藏它。
我会这样重写你的js:
$('div.conbox').hover(
function() {
$(this).find('.dboxcontent').show();
}, function() {
$(this).find('.dboxcontent').hide();
}
);
您不需要字符串连接。您可以使用.find()代替。