努力充分描述问题中的场景。我正在尝试学习 jQuery,所以毫无疑问,我已经拥有的东西会出现一堆错误。
这是我到目前为止的 jQuery 代码。
$(document).ready(function() {
$('a.x', $('#innerlayout')).hover(
function () {
var path = $(this).attr('rel');
var text = $(this).attr('title');
$(this).append($("<p class='revealer'><img src='"+path+"' /><br />"+text+"</p>"));
$('p.revealer').hide().fadeIn(500);
},
function () {
$(this).find('p:last').hide();
$(this).removeClass('x').addClass("revealed");
}
);
$('a.revealed', $('#innerlayout')).hover(
function() {
$(this).find('p').show();
},
function() {
$(this).find('p').hide();
}
);
});
而 HTML 基本上是
<a class="x" href="javascript:void(0)" rel="image1.jpg" title="Image">
<img src="icon.jpg" width="40" height="40" alt="Icon" />
</a>
我以前使用 remove() 来删除 mouseout 上的 p 标签并且工作正常。我想尝试更改它以便隐藏内容,并且更改类以便如果再次发生 mouseenter 它只会显示现有内容。相反,我发现它仍然会再次附加内容并在每次输入/输出时叠加。谁能建议我哪里出错了?