2013-01-08 109 views
-2

我有一个主文件夹“main”。它有一个名为“test1.html”的页面。它也有图像文件夹。 图像文件夹中有图像“pic1.png”。根据文件夹更改img src

“main”文件夹中还有一个名为“sub”的子文件夹,其中有一个“test2.html”页面。

场景:我在两个页面(在根文件夹以及子文件夹中)通过jquery在img标签中插入pic1.png。我应该如何处理不同页面的src?即,

test1.html - 图像/ pic1.png

test2.html - ../images/pic1.png

+0

你是什么意思“处理不同页面的src”..困惑 – bipen

+0

obv。这意味着图像的src属性应根据页面的位置而改变,即该页面位于根文件夹或任何子文件夹中。 – Mak

回答

0

你可以用正则表达式检查位置,并使用ATTR功能适用SRC jQuery

(''+window.location).match(/http:\/\/[^\/]*\/*root\/?(.*)/)[1] 

这将匹配没有第一个斜杠后的URL中的所有内容。

,如果它在根目录将是空的,你可以有多少变量

var path = (''+window.location).match(/http:\/\/[^\/]*\/*root\/?(.*)/)[1] 
if (path) { 

    var prefix = ''; 
    for (var i=path.match(/\//).length;i--;) { 
     prefix += '../'; 
    } 
    $('img').each(function() { 
     var $this = $(this) 
     $this.attr('src', prefix + $this.attr('src')); 
    }); 
} 

这将改变页面上的图像的所有SRC属性斜线出适用..

3

何不是否包含来自Web根目录的相对路径。

/images/pic1.png 

这是一个很好的site为相对路径的解释。

+0

thnx但我试过,它不工作。 – Mak

+0

什么是图像的网址? –

+0

看到,如果页面在子文件夹中,图像src应该是“../images/pic1.png”。如果页面本身位于根文件夹中,则图像src应该是“images/pic1.png” – Mak