|zyciis| 如何在js文件里面创建一个img对像,但他的路径是对应当前js文件的呢?谢谢

zyciis200 2009-12-15 03:59:43

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文件所对应的相对路径呢?

谢谢
...全文
395 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
foolbirdflyfirst 2009-12-15
  • 打赏
  • 举报
回复
就是相当于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__);//当前文件绝对路径,你需要对这个路径进行处理.


阿非 2009-12-15
  • 打赏
  • 举报
回复
还有就是 用js判断 路径是否可用

不过这个较繁琐, 有少量备选路径时可采用 例如 就两个位置的时候,一个不满足 自然是另外一个
zyciis201 2009-12-15
  • 打赏
  • 举报
回复
楼上的是个方法,然后用正则去替换../转为上级目录

再看看有什么方法

谢谢
阿非 2009-12-15
  • 打赏
  • 举报
回复
那可以考虑 用 location.href

获得当前页的绝对路径 然后 再做处理
zyciis200 2009-12-15
  • 打赏
  • 举报
回复
"/images/right.jpg
如果用这种的话,可能网站是一个虚拟目录的话,又不行了!!!
千游 2009-12-15
  • 打赏
  • 举报
回复
无论哪个页面引用 js,只要 images 文件夹在站点的根目录下即可正确加载图片了!
fafenglea 2009-12-15
  • 打赏
  • 举报
回复
JS文件加入页面,你就可以把这个JS文件的代码当作是写在页面里的,所以相对路径是相对与页面的,不是相对于JS的。如果你有多个文件都会加载该JS文件,那就要用绝对路径"/images/right.jpg"
阿非 2009-12-15
  • 打赏
  • 举报
回复
一般情况是 当前目录确定的话 就相对当前目录 ,相对根目录方便就相当根目录


你现在的情况是当前目录 不确定 , 改成相对根目录就可以了
阿非 2009-12-15
  • 打赏
  • 举报
回复
绝对路径 就不用说了

相对路径的话,就相对两个位置 一是根目录,二是当前目录

yixianggao 2009-12-15
  • 打赏
  • 举报
回复
lz 滴思维已经混乱了,img 是加载到页面上,因此路径要么相对页面,要么相对站点!

相对 JS 是不可能滴!!!

如果 Demo.html 所在目录就是站点滴根目录,那么可以这么写

L@_@K

var image = document.createElement("img");
image.src = "/images/right.jpg";
document.body.appendChild(image);


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

87,922

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧