2016-06-10 149 views
0

這可能是最微不足道的問題,但據我瞭解這似乎是正確的,但我無法按需要查看圖像。該圖顯示了文件結構,我試圖從jsGold.js文件訪問這些文件。它工作正常,直到我提取某些文件到一個新的項目進行清理,因此我懷疑文件路徑的變化可能導致了這個問題。JavaScript中的圖像文件路徑

File Structure

代碼行jsGold.js文件:

else { 
    streamData.push(clickedId, streamName, streamDef); 
    var prop = $('<img class="prop" src="../../Images/prop.ico" />').attr('id', i); 
    newAgent.text(streamData[nameIndex]).append('<img class="cancel" src="../../Images/delete.ico"/>').append(prop); 

是我得到的輸出是:

Output

所需的輸出:

Desired Output

+2

我預計'src'路徑應相對於JS正在運行的當前頁面,而不是JS文件的位置。所以'src =「../ Images/prop.ico」'。 – nnnnnn

+0

該路徑與執行JS的文件相關,而不是JS文件本身。因此,如果您的JS文件包含在checkon.html中,則路徑將爲'../ Images/prop.ico'。 – Christophe

+0

爲什麼不使用(root)相對URL,即/Images/prop.ico?不管javascript/html文件的位置如何,這種方式都比較容易閱讀路徑和路徑。 – softius

回答

1

您的相對路徑img標記應該相對於您的網站的根目錄,而不是相對於您腳本的文件夾。

你應該使用:

var prop = $('<img class="prop" src="/Images/prop.ico" />').attr('id', i); 

如果打開的頁面上,從Views,直接從您的磁盤,而不是從一個網絡服務器,相對路徑相對從Views文件夾必須。所以,你必須把它寫這樣的:

var prop = $('<img class="prop" src="../Images/prop.ico" />').attr('id', i); 
+0

*「你的img標籤的相對路徑是相對於你的網站的根目錄」* - 不是以「../」開頭。 – nnnnnn

+0

它是否依賴於加載它的html頁面? – Teja

+0

@Teja不,因爲如果它以'/'開始,它指的是你的網站的根。現在,如果你直接從磁盤打開你的html頁面,這是另一回事... –

0

謝謝你們 - 下面的作品,因爲我是從work.html打開該文件中的觀點

var prop = $('<img class="prop" src="../Images/prop.ico" />').attr('id', i);