2015-11-26 62 views
0

我希望圖片在有人點擊時發生變化,但這不起作用。更改圖片onclick不起作用

<image id="s" src="s.jpg" onclick="reaction()" ></image> 
    function reaction() 
    { 
    var replace=document.getElementById("s").src; 
    replace="20141018_222702.jpg"; 
    } 

有人能解釋我的原因嗎? 而且我是初學者。所以如果這個問題聽起來很愚蠢,請原諒我。

回答

1

您的代碼不工作,因爲你使用檢索到的src價值,並把它放在一個名爲replace像這樣的變量:

var replace=document.getElementById("s").src; 

之後,你改變了variable的,像這樣的內容:

replace="20141018_222702.jpg"; 

所有變量都包含一個值。你只是改變了變量保存的值/內容,這不會導致任何結果。

你應該做的是有自己的變量持有元素本身,像這樣:

var replace=document.getElementById("s"); 

隨後的JavaScript改變它持有,像這樣的元素的src屬性/屬性:

replace.src="20141018_222702.jpg"; 

我希望這清除你的疑惑:)

+0

好吧,我明白了。 而innerHTML引用標籤中的實際元素嗎? –

+0

不,「innerHTML」只會給你打開和關閉標籤之間的文本。把它放在一個變量中並改變它將不會產生任何結果,就像它發生在圖像上一樣。 –

+0

非常感謝您的幫助! –