我有以下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
标记已在#foo
中添加。但是浏览器窗口中没有显示img
。
任何想法为什么?我应该使用live()
函数,但是如何使用?
答案 0 :(得分: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()})
答案 1 :(得分:0)
似乎工作正常,看看:http://jsfiddle.net/84Nj3/1/
您的代码中可能存在导致问题的不同内容。