簡體   English   中英

改變&#39;innerHTML&#39; <img> 不改變形象

[英]Changing 'innerHTML' on <img> not changing image

這是我的代碼:

HTML

<form>
  <img id='image' src=""/>
  <input type='text' id='text'>
  <input type="button" value="change picture" onclick="changeimage()">
</form>

JavaScript的

function changeimage() {
  var a=document.getElementById('text').value
  var c=a+".gif"
  c="\""+c+"\""
  var b= "<img src="+c+"\/>"

  document.getElementById('image').innerHTML=b
}

我有一些GIF圖像。 我想在文本框中寫一個圖像名稱,然后在單擊按鈕時顯示圖像。 然而,它沒有發生。 為什么?

你應該做這個:

document.getElementById('image').src = c;

通過執行document.getElementById('image').innerHTML=b您試圖在<img>標記內定義HTML,這是不可能的。

完整腳本:

function changeimage() {
    var a = document.getElementById('text').value;
    var c = a + ".gif";

    document.getElementById('image').src = c;
}

試試這個:

<html>
<body>
<script type="text/javascript">
function changeimage() {
   var a = document.getElementById('text').value;
   document.getElementById('image').src = a + '.gif';
}
</script>
<form>
<img id='image' src=""/>
<input type='text' id='text'>
<input type="button" value="change picture" onclick="changeimage()">
</form>
</body>
</html>
document.getElementById("image").setAttribute("src","another.gif")

為了更新<img>標簽,您需要更新它的源代碼,而不是它的內部HTML。

function changeimage()
{
  var a=document.getElementById('text').value
  var c=a+".gif"
  c="\""+c+"\""
  var elem = document.getElementById('image');
  elem.setAttribute('src', c);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM