Jquery,add&在悬停时删除元素

时间:2011-03-31 09:40:31

标签: jquery effects add elements

我遇到了一个问题,我在没有解决方案的情况下尝试了很多东西。

$('a.hovered').hover(function () {
    $(this).after(' <img src="images/icons/famfamfam/silk/user_go.png" />');
},function () {
    $(this).remove(' <img src="images/icons/famfamfam/silk/user_go.png" />');
});

当然我尝试了很多版本的remove()但没有任何成功。如果有人能帮我解决这个问题,我将很高兴。

另外我想添加fadeIn()和fadeOut()的效果,但当然这也不成功。

我可以添加图像,但我无法将其删除(即使fadeIn在我可以成功添加图像时也无效)。

感谢您的帮助和提前的时间。

5 个答案:

答案 0 :(得分:7)

你真的不想这样做。如果您只显示和隐藏始终存在的图像,您的代码将更快,更清晰,更易于维护。

只需将img放入您的html with和id设置,然后style="display: none;"隐藏它。

您的javascript代码将变为:

$('a.hovered').hover(function () {
    $("#user_go").show();
},function () {
    $("#user_go").hide();
});

答案 1 :(得分:3)

为你命名元素,它会让你的生活更轻松,即:

$('a.hovered').hover(function () {
    $(this).after(' <img id="user_go" src="images/icons/famfamfam/silk/user_go.png" />');
},function () {
    $("#user_go").remove();
});

答案 2 :(得分:0)

.remove()不会使用HTML:

$('a.hovered').hover(function () {
    $(this).after(' <img src="images/icons/famfamfam/silk/user_go.png" id="go_image" />');
},function () {
    $('#go_image').remove();
});

答案 3 :(得分:0)

您无法以这种方式引用创建的对象,请尝试

$('a.hovered').hover(function () {
    $(this).after(' <img src="images/icons/famfamfam/silk/user_go.png" id="addedImage"/>');},
    $('#addedImage').remove();
});

是的,在我写的时候,另外两个人发布了相同的东西:)

答案 4 :(得分:-1)

为什么不这样做?

$('a.hovered').hover(function () {      
$(this).after(' <img src="images/icons/famfamfam/silk/user_go.png" />');  },
function () {
$(this).find('img').remove();
 });