2012-06-29 20 views
2

好的,我有一個javascript函數,當用戶更改選擇下拉框的選項時,切換div標籤的innerhtml。Javascripts innerHTML不適用於圖像,但可以使用文本?

它一切正常,與文本,但與圖像標記它停止工作?

工作實例...

function toggle(opt) { 
     var d = document.getElementById('div_tag'); 
     if (opt == '5') { 
       d.innerHTML = 'FIVE'; 
     } 
     else if (opt == '4') { 
       d.innerHTML = 'FOUR'; 
     } 
     etc... 
} 

不工作示例...

function toggle(opt) { 
     var d = document.getElementById('div_tag'); 
     if (opt == '5') { 
       d.innerHTML = '<img src='path/img1.jpg'><img src='path/img2.jpg'>'; 
     } 
     else if (opt == '4') { 
       d.innerHTML = '<img src='path/img2.jpg'><img src='path/img1.jpg'>'; 
     } 
     etc... 
} 

這就是我對我的選擇和div標籤。

<select onchange='toggle(this.value);'> 
<div id='div_tag'></div> 

任何人都告訴我,我在做什麼錯在這裏因爲我很爲難。爲什麼會一個工作,而不是其他,當所有的不同的是,一個被另一個是文本?

謝謝。

+3

你需要一起使用''''和'''你看不到字符串在你指定src的時候被分解了嗎?它應該拋出各種錯誤,你檢查了控制檯或錯誤日誌?應該b E:'「」' – TheZ

回答

7

在我看來,像你忘了逃跑引號正確周邊的圖像路徑,它不讀你的字符串,試試這個

function toggle(opt) { 
    var d = document.getElementById('div_tag'); 
    if (opt == '5') { 
      d.innerHTML = '<img src=\'path/img1.jpg\'><img src=\'path/img2.jpg\'>'; 
    } 
etc... 
+0

當然..德呃哈哈。感謝指出這一點,一直在寫這麼多,不需要逃避,我忘了這些。 – FoxyFish

+1

而你應該關閉你的標籤:-) –

0

做這些改變,"在開始和結束時更換'

function toggle(opt) { 
     var d = document.getElementById('div_tag'); 
     if (opt == '5') { 
       d.innerHTML = "<img src='path/img1.jpg'><img src='path/img2.jpg'>"; 
     } 
     else if (opt == '4') { 
       d.innerHTML = "<img src='path/img2.jpg'><img src='path/img1.jpg'>"; 
     } 
     etc... 
} 

您實際上使用單引號而不是雙引號。 path/img1.jpgpath/img2.jpg沒有被處理的您的字符串前面的部分。這是問題所在。

UPDATE 爲你的PHP問題做到這一點:

function toggle(opt) { 
     var d = document.getElementById('div_tag'); 
     if (opt == '5') { 
       d.innerHTML = '<img src='+'path/img1.jpg'+'><img src='+'path/img2.jpg'+'>'; 
     } 
     else if (opt == '4') { 
       d.innerHTML = '<img src='+'path/img2.jpg'+'><img src='+'path/img1.jpg'+'>'; 
     } 
     etc... 
} 
+0

沒有,這個問題是不是‘用單引號代替雙引號’如你所說。問題是兩個使用相同的符號,而不是逃避它們。你可以只以及交換他們身邊'「」'因爲JavaScript同時使用字符串。 – TheZ

+0

是的,我知道。 –

+0

爲什麼人們如此急於投票,甚至沒有理解答案。介意解釋downvote? –

相關問題