摘要:从接触前端开发开始就会一直使用这两个属性,但是这两个属性的用法实在太相近了,以致经常产生错觉,今天就好好说说它们两个。
先来看看都有那些标签使用这两个属性的:
href属性:
<a href=''></a>
<link href='' />
<style type='text/css'></style>
src属性:
<img src='' />
<script type='text/javascript' src='' />
以下为总结大牛们的见解:
src :source的简写,表示“源”,可以理解为【引用一个资源】,用来代替自己本身的内容。如img、script、iframe。它们如果不写src,那么本身没有内容,script会不存在脚本代码,img会显示x,iframe会显示空白页。例如,b.js:alert(2); 标准的浏览器里会显示2,因为本身的内容已经被替代了。
href : Hypertext Reference的缩写,表示“超链接”, 目的不是为了引用一个资源,而是为了建立一个“通道”,让当前标签能够链接到目标地址上,并不是为了把目标拉进页面本身内来替换本身的内容,例如a标签的href不会被当做一个资源替换自身,link标签本身并不包含实际的元素意义来做内容,它需要rel明确的表示被【被连接的文档是做什么的】。
<script src =”js.js”></script>
当浏览器解析到该元素时,会暂停其他资源的下载和处理,直到将该资源加载、编译、执行完毕,图片和框架等元素也如此,类似于将所指向资源嵌入当前标签内。这也是为什么将js脚本放在底部而不是头部。
<link href=”common.css” rel=”stylesheet”/>
那么浏览器会识别该文档为css文件,就会并行下载资源并且不会停止对当前文档的处理。这也是为什么建议使用link方式来加载css,而不是使用@import方式。