2011-08-04 69 views
0

我有以下的jQuery代碼:的jQuery插件IMG不顯示

$('#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工具,我可以在#stars點擊第二次#foo當加入img標籤的代碼中看到。但瀏覽器窗口中沒有顯示img

任何想法爲什麼?我應該使用live()函數,但是如何?

+1

[Works fine for me](http://jsfiddle.net/Shef/yLZeQ/)。 – Shef

+0

我試過了你的代碼在jsfiddle的例子,它的工作原理:http://jsfiddle.net/VewBu/ –

回答

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/

+0

我的回答對你有幫助嗎@Luzhin?請記住接受答案,如果是這種情況:-) –

0

它似乎做工精細,一起來看看:http://jsfiddle.net/84Nj3/1/

也許有東西在你的代碼引起該問題的不同。

+0

不要它不出現在你的小提琴。 (我使用Chromium 52.0.2743.116)。 – zrajm