document.getElementById("**").src是绝对路径还是相对路径?

设 var x = document.getElementById("*").src,
return x得到的是绝对路径
但是document.getElementById("*").src=某个相对路径却可以?
谢谢!

阅读 11.2k
4 个回答

需要了解的概念:gettersetter
getter用于读取属性,setter用于写入属性。虽然这俩是ES6的东西,但是并不妨碍浏览器内部的实现~
var x = document.getElementById("img").src相当于读取src属性,document.getElementById("img").src="XXX"相当于写入,这俩实际是分开的:在写入的时候,浏览器既可以接受绝对路径、也可以接受相对路径;但在读取的时候,只会给你返回个(翻译好的)绝对路径。

http://www.coffeecup.com/help...
这篇文章讲解了相对路径和绝对路径的一些用法。
参考w3cschool里关于Script src属性的讲解,该属性是为了拿到外部脚本文件的URL地址,所以是绝对路径。你的文件如果是在当前站点,那你写相对路径也是可以的

document.getElementById("**").src 获取到的是相对路径

设置元素的src属性的时候设置相对路径也是可以的(文件路径正确即可)

这是特定用法

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题