src和href使用总结
src
- img 图片
<img src="/img/1.png" alt="1" />
- rame iframe 框架集
<iframe src="girl.gif"></iframe>
- input type 为image的提交按钮
<input type="image" src="submit.jpg" alt="Submit" align="right" />
- scirpt 脚本
<script type="text/javascript" src="org.js"></script>
- style 样式表(胎死腹中的XHTML2中就将src属性推广到了所有元素。比如可以:
<style src="common.css"> </style>
)
href
- a
<a href="http://www.baidu.com" target="_blank">百度</a>
- link 引用外部css
<link type="text/css" href="iknow_base.css" rel="stylesheet" />
- input type 中的onclick事件
<input type=button onclick="window.location.href('#')" />
以上是src和href会被用到的标签,下面来看看他们的区别。
src是source的简写,表示“源”,是引用一个资源将该元素的内容将整体替换。如果不写src,那么本身没有内容,script会不存在脚本代码,img会显示x,iframe会显示空白页。例如<script type="text/javascript" src="b.js">alert(1)</script>,b.js:alert(2); 标准的浏览器里会显示2,因为本身的内容已经被替代了。
href是Hypertext Reference的缩写,表示“超链接”, 目的不是为了引用一个资源,而是为了建立一个“通道”,让当前标签能够链接到目标地址上,并不是为了把目标拉进页面本身内来替换本身的内容,例如a标签的href不会被当做一个资源替换自身,link标签本身并不包含实际的元素意义来做内容,它需要rel明确的表示被【被连接的文档是做什么的】。至于说为什么当初就决定外部样式表用link href来链接,而不是用style src来载入,可能是因为先贤们认为样式表更符合外部链接资源的特征,它更接近附属的资源,而不是内嵌的内容。
以上主要内容引自为什么加载 JavaScript 使用 "src",CSS 使用 "href"?有其含义还是历史语法遗留?
链接:https://www.jianshu.com/p/797bceab922b
href 表示超文本引用(hypertext reference) 引用 建立联系
src 表示来源地址 source 引入
src和href之间存在区别,能混淆使用。src用于替换当前元素,href用于在当前文档和引用资源之间确立联系。
src是source的缩写,指向外部资源的位置,指向的内容将会嵌入到文档中当前标签所在位置;在请求src资源时会将其指向的资源下载并应用到文档内,例如js脚本,img图片和frame等元素。
<script src ="js.js"></script>
当浏览器解析到该元素时,会暂停其他资源的下载和处理,直到将该资源加载、编译、执行完毕,图片和框架等元素也如此,类似于将所指向资源嵌入当前标签内。这也是为什么将js脚本放在底部而不是头部。
href是Hypertext Reference的缩写,指向网络资源所在位置,建立和当前元素(锚点)或当前文档(链接)之间的链接,如果我们在文档中添加
<link href="common.css" rel="stylesheet"/>
那么浏览器会识别该文档为css文件,就会并行下载资源并且不会停止对当前文档的处理。这也是为什么建议使用link方式来加载css,而不是使用@import方式。
链接:https://www.zhihu.com/question/19708137/answer/13562191