0

我有以下 jQuery 代码:

$('#foo').click(function ()  {
    var loading = $('<img id="loading" src="images/loader.gif" alt="loading" />');
    $('#stars').prepend(loading);
    alert('WAIT');
});

$('#bar').click(function ()  {
     $('#stars').empty();
});

第一次单击#foo图像时,我的浏览器窗口中将显示该图像。单击#bar#foo再次单击后,图像未显示。

我使用 Chrome 并使用该Inspect Element工具,我可以在代码中看到第二次单击时img添加了标签。但是浏览器窗口中没有显示。#stars#fooimg

任何想法为什么?live()也许我应该使用该功能,但是如何使用?

4

2 回答 2

0

这对我来说似乎很好。

请看我在这里整理的演示:http: //jsfiddle.net/uWfW7/1/

我现在无法在 Chrome 中测试它,但它在 FF5 中对我有用。或者,您不必每次都重新创建图像对象,而是根据需要简单地显示/隐藏图像。

HTML

<div id="image"><img src="[...] alt="text"></div>

CSS

#image{display:none;}

JS

$('#foo').click(function(){$('#image').show()})
$('#bar').click(function(){$('#image').hide()})

在这里演示:http: //jsfiddle.net/t5QJg/

于 2011-08-04T11:44:49.317 回答
0

它似乎工作正常,看看:http: //jsfiddle.net/84Nj3/1/

也许您的代码中有一些不同的东西会导致问题。

于 2011-08-04T11:46:33.917 回答