<a>:anchor
1.target屬性的值
_blank:新開一個頁面打開<a>指向的頁面
_self:在自身窗口打開<a>指向的頁面
_top:在最頂級的窗口打開<a>指向的頁面
_parent:在父元素的窗口打開<a>指向的頁面
比較:_self _top _parent
這三個值,要在嵌套關(guān)系下理解
例子:
在index1.html文件中,使用<ifram>嵌入index2.html文件,
在index2.html文件中,使用<ifram>嵌入index3.html文件,
index3.html中有一個<a>
當(dāng)<a>標簽的target值為 _self 時,打開<a>指向的頁面的窗口是index3.html本身
當(dāng)<a>標簽的target值為 _parent 時,打開<a>指向的頁面的窗口是index2.html,即父元素
當(dāng)<a>標簽的target值為 _topf 時,打開<a>指向的頁面的窗口是index1.html,即嵌套關(guān)系中,最頂級的元素
2.href 能傳入什么樣的值?(以下例子以https://www.qq.com為例,文件名為index.html)
一、<a>如果沒有href,那么瀏覽器會將它轉(zhuǎn)換成一個<span>
二、qq.com
傳入該值,瀏覽器會把這個地址當(dāng)作相對地址,即在index.html存在的目錄中搜尋qq.com這個文件
三、//qq.com
傳入該值,瀏覽器會識別這是一個網(wǎng)址,而且會自動把index.html的協(xié)議賦予qq.com,所以點擊<a>可以跳轉(zhuǎn)到www.qq.com頁面中
四、#xxxx
這是一個錨點,瀏覽器會在地址后面添加這個錨點 .../index.html#xxxxx,錨點只是頁面的跳轉(zhuǎn),是不發(fā)請求的
五、?a=1&b=2
這是傳入查詢參數(shù),瀏覽器會在地址后面添加這個查詢參數(shù).../index.html?a=1&b=2,然后發(fā)起請求
六、javascript:[JS代碼];
之前的地址都是默認是http:協(xié)議執(zhí)行,而這里使用了javascript偽協(xié)議,當(dāng)點擊這個<a>后,會執(zhí)行后面的JS代碼,
但是一般不這么用這個功能。一般使用 href="javascript:;" 來獲取一個沒有任何作用的<a>
七、href="javascript:;" 與 href="#"
前者是執(zhí)行段空的JS代碼,所以不會有任何動作,而后者雖然也不會發(fā)生請求,但是有時候這個操作會使頁面出現(xiàn)跳轉(zhuǎn)的行為,如果沒有指向?qū)?yīng)id的錨,則會自動跳轉(zhuǎn)到頁面最頂部。
八、href的路徑問題https://blog.csdn.net/weixin_42508745/article/details/82628353
1.(無)開頭表示當(dāng)前目錄下的
2.(/)開頭的目錄表示該目錄為根目錄的一個子目錄
href="/"指向的是當(dāng)前文件所在目錄所在的盤符
3.(./)開頭的目錄表示該目錄為當(dāng)前目錄(當(dāng)前目錄所在的目錄)的一個子目錄
4.(../)開頭的目錄表示該目錄為當(dāng)前目錄的父目錄
5.(//)開頭的目錄表示和當(dāng)前頁面使用同一種協(xié)議http/https
3.下載download
<a>默認是查看頁面,但是加上 download 屬性后,<a>則變成了下載頁面
另一種下載頁面的方式:通過設(shè)置Content-type = application/octet-stream;在請求頁面時,則會直接下載