2016-06-10 100 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);