var image = document.createElement("img");
image.src = "../images/right.jpg";
document.body.appendChild(image);如我上面一条给body添加一个img标签的代码
我的结果是
Images
  right.jpg
JS
  my.js
  Demo.html
----------
如demo.html像上面这样放就OK
但是为
Images
  right.jpg
JS
  my.js
Demo.html
----------
这样就不行,因为他动态添加的图片的相对路径是引用他文件的地方,而不是js相对的
那如何写为js文件所对应的相对路径呢?谢谢

解决方案 »

  1.   

    lz 滴思维已经混乱了,img 是加载到页面上,因此路径要么相对页面,要么相对站点!相对 JS 是不可能滴!!!如果 Demo.html 所在目录就是站点滴根目录,那么可以这么写L@_@Kvar image = document.createElement("img");
    image.src = "/images/right.jpg";
    document.body.appendChild(image);
    无论哪个页面引用 js,只要 images 文件夹在站点的根目录下即可正确加载图片了!
      

  2.   

    JS文件加入页面,你就可以把这个JS文件的代码当作是写在页面里的,所以相对路径是相对与页面的,不是相对于JS的。如果你有多个文件都会加载该JS文件,那就要用绝对路径"/images/right.jpg"
      

  3.   

    无论哪个页面引用 js,只要 images 文件夹在站点的根目录下即可正确加载图片了!
      

  4.   

    "/images/right.jpg
    如果用这种的话,可能网站是一个虚拟目录的话,又不行了!!!
      

  5.   

    那可以考虑 用 location.href获得当前页的绝对路径 然后 再做处理
      

  6.   

    就是相当于php里的魔术常量__FILE__
    试试John Resig的代码,能设计出jquery的家伙想的东西就是精奇一点。(function(){
      this.__defineGetter__("__FILE__", function() {
        return (new Error).stack.split("\n")[2].split("@")[1].split(":").slice(0,-1).join(":");
      });
    })();alert(__FILE__);//当前文件绝对路径,你需要对这个路径进行处理.