2011-07-13 47 views
1

我最近開始學習HTML,CSS和Javascript,並且我越來越瞭解當天越來越多的東西..無論如何,我有這個類在我的身體,顯示圖片:文本正在替換圖像,而不是顯示在它上面

<div class="notepad" id="notepad"> 
    <img src="images/notepad.jpg" alt="Notepad"/> 
    <p class="notepad">test</p> 
</div> 

而且我也有一個JavaScript文件中這樣的功能:

function textonimage(){ 
     document.getElementById("notepad").innerHTML = 
     '<p class="notepad">'+"texty blah blah"+'</p>'; 
    } 

我的問題是,我的形象得到由該函數的文本替換,而不是在它被顯示。我嘗試了很多東西,但沒有成功。我究竟做錯了什麼?

謝謝你的時間!

+0

那麼,你正在設置'innerHTML',這是'div'的全部內容給提供的HTML ....帶*後*是否意味着你想要用文字覆蓋圖像? –

回答

2

的問題是,要覆蓋HTML中的「記事本」。改變功能爲:

function textonimage(){ 
    document.getElementById("notepad").innerHTML += 
    '<p class="notepad">'+"texty blah blah"+'</p>'; 
} 
+2

因爲它們是新的並且學習它可能是有益的,指出格里芬的解決方案正在追加(使用+ =運算符而不是=運算符)html而不是分配和替換它。 – Jake

+0

@Jake,我會+1你的評論,但顯然我無法。 – Griffin

+0

謝謝大家的快速回復!順便說一下,你還回答了我關於innerHTML的一些問題:)格里芬的這一個正是我想要的,現在我可以看到我做錯了什麼。直到下一次! –

0

您將替換編號爲notepad的元素的innerHTML。它不會做選擇性替換,它會覆蓋整個內部HTML。

你可能要像...

function textonimage(){ 
    document 
    .getElementById("notepad") 
    .getElementsByTagName('p')[0] 
    .innerHTML = "texty blah blah"; 
} 
相關問題