2013-03-08 25 views
0

如果我有一個div充當容器,當空顯示圖像,並且我想要在內容動態添加到容器時刪除該圖像,什麼是最好的Jquery方法來完成這個?照常進行 -刪除動態內容添加到它的div的佔位符圖像

if ($(".container").html().length <= 0) { 
    $('.ad').show(); 
} 

在這種情況下不起作用,因爲要添加的內容是動態的並且不涉及刷新。我試圖將檢查存儲在一個每隔100ms運行一次的setIntercal函數中,但結果並不如預期的那樣結果,並且還導致頁面上出現一些奇怪的閃爍。

編輯**

喬什 - 伯吉斯的方法將是一個我在所有情況下使用,如果我沒有支持IE8。正因爲如此,我將回到在添加內容的點擊事件發生時添加.hide()方法。謝謝您的幫助!

+0

你是如何添加的內容?如果圖片只是div中的''標籤,是不是會被新內容自動替換? – JJJ 2013-03-08 19:30:06

+3

當您更新內容時,如何調用該代碼? – 2013-03-08 19:30:13

+0

@Stavros_S當添加*動態內容*時調用的函數是您應該檢查是否隱藏/顯示佔位符圖像的點。 – sweetamylase 2013-03-08 19:31:28

回答

2

爲什麼要使用jQuery?

試試這個CSS:

div.myDiv:empty{ 
    background-image: url(path/to/myimage); 
    height: 50px; 
    width: 50px; 
} 

div.myDiv { 
    background-image: none; 
    height:auto; 
    width: auto; 
} 

- 編輯 -

Here's a working example in jsfiddle, and it works in reverse as well

+0

會給它一個鏡頭,雖然我不認爲這樣的東西會工作時動態地添加到容器的內容。 – 2013-03-08 19:59:30

+0

@Stavros_S檢查它,它完全。我只是放了一個小提琴。巴姆。 – 2013-03-08 20:06:47

+0

謝謝你的例子,不幸的是我需要支持IE8,儘管它不支持:空選擇器。我會以任何方式給你答案,因爲我沒有證明這一點。謝謝! – 2013-03-08 20:18:19