Javascript來控制target屬性_Div+CSS教程
教程Tag:暫無Tag,歡迎添加,賺取U幣!
在HTML 4.0 Strict和XHTML 1.0 STRICT里不答應(yīng)在<a>標簽里使用target屬性,這是一件令網(wǎng)頁設(shè)計者懊惱的事.在過渡的規(guī)范里還是答應(yīng)使用的.但通過一定的方法,我們可以解決這一問題.
HTMl4.0規(guī)范里拿掉了target屬性.但它添加了另外一個屬性:rel.這個屬性是用來指定包含鏈接的文檔和所鏈接文檔之間的關(guān)系的.規(guī)范里定義了其屬性值(如:next,previous,chapter,section),在這些屬性里大多數(shù)是用來定義一個大文檔里各個小部分之間的關(guān)系的.事實上.規(guī)范里答應(yīng)開發(fā)人員自由的使用非標準屬性值做特定的運用.
在這里,我們采用一個自定義值external用于rel屬性來標記一個鏈接,用來新開一個窗口.
不符合最新Web標準的鏈接代碼:
運用rel屬性:
現(xiàn)在我們構(gòu)建了一個符合Web標準的新開窗口的鏈接,我們還需要運用JavaScript是其實現(xiàn)新開窗口.腳本要實現(xiàn)的工作是當(dāng)網(wǎng)頁加載時,找到文檔里的所有那些我們定義為rel="external"的超鏈接.
首先我們要判定瀏覽器.
getElementsByTagName是DOM1標準里一個輕易使用的方法,且它被現(xiàn)在的大多數(shù)瀏覽器所支持,因為一些舊的瀏覽器如Netscape 4和IE4不支持DOM1,所以我們必須通過判定這一方法是否存在來排除這些舊版本的瀏覽器.
下一步,我們通過getElementsByTagName方法取得文檔里所有的<a>標簽:
anchors被賦值為包含各個<a>標簽的數(shù)組,現(xiàn)在我們必須遍歷各個<a>標簽并且修改它:
找到要實現(xiàn)新開窗口的<a>標簽
接下來.建立屬性值target并賦值"_target":
完整的代碼:
HTMl4.0規(guī)范里拿掉了target屬性.但它添加了另外一個屬性:rel.這個屬性是用來指定包含鏈接的文檔和所鏈接文檔之間的關(guān)系的.規(guī)范里定義了其屬性值(如:next,previous,chapter,section),在這些屬性里大多數(shù)是用來定義一個大文檔里各個小部分之間的關(guān)系的.事實上.規(guī)范里答應(yīng)開發(fā)人員自由的使用非標準屬性值做特定的運用.
在這里,我們采用一個自定義值external用于rel屬性來標記一個鏈接,用來新開一個窗口.
不符合最新Web標準的鏈接代碼:
示例代碼 [www.hl5o.cn]
<a href="document.html" target="_blank">external link</a>
運用rel屬性:
示例代碼 [www.hl5o.cn]
<a href="document.html" rel="external">external link</a>
現(xiàn)在我們構(gòu)建了一個符合Web標準的新開窗口的鏈接,我們還需要運用JavaScript是其實現(xiàn)新開窗口.腳本要實現(xiàn)的工作是當(dāng)網(wǎng)頁加載時,找到文檔里的所有那些我們定義為rel="external"的超鏈接.
首先我們要判定瀏覽器.
示例代碼 [www.hl5o.cn]
if (!document.getElementsByTagName) return;
getElementsByTagName是DOM1標準里一個輕易使用的方法,且它被現(xiàn)在的大多數(shù)瀏覽器所支持,因為一些舊的瀏覽器如Netscape 4和IE4不支持DOM1,所以我們必須通過判定這一方法是否存在來排除這些舊版本的瀏覽器.
下一步,我們通過getElementsByTagName方法取得文檔里所有的<a>標簽:
示例代碼 [www.hl5o.cn]
var anchors = document.getElementsByTagName("a");
anchors被賦值為包含各個<a>標簽的數(shù)組,現(xiàn)在我們必須遍歷各個<a>標簽并且修改它:
示例代碼 [www.hl5o.cn]
for (var i=0; i < anchors.length; i ) {
var anchor = anchors;
var anchor = anchors;
找到要實現(xiàn)新開窗口的<a>標簽
示例代碼 [www.hl5o.cn]
if (anchor.getAttribute("href") &&
anchor.getAttribute("rel") == "external")
anchor.getAttribute("rel") == "external")
接下來.建立屬性值target并賦值"_target":
示例代碼 [www.hl5o.cn]
anchor.target = "_blank";
完整的代碼:
示例代碼 [www.hl5o.cn]
function externalLinks() {
if (!document.getElementsByTagName) return;
var anchors = document.getElementsByTagName("a");
for (var i=0; i<anchors.length; i ) {
var anchor = anchors;
if (anchor.getAttribute("href") &&
anchor.getAttribute("rel") == "external")
anchor.target = "_blank";
}
}
window.onload = externalLinks;
if (!document.getElementsByTagName) return;
var anchors = document.getElementsByTagName("a");
for (var i=0; i<anchors.length; i ) {
var anchor = anchors;
if (anchor.getAttribute("href") &&
anchor.getAttribute("rel") == "external")
anchor.target = "_blank";
}
}
window.onload = externalLinks;
相關(guān)Div+CSS教程:
- DIV+CSS設(shè)計的誤區(qū)
- CSS基礎(chǔ):常用CSS英文字體介紹
- IE6和IE7中border邊框斷線現(xiàn)象
- border:none;與border:0;的有什么不同?
- div+css下js對聯(lián)廣告不隨屏幕滾動的解決方法
- HTML元素的ID和Name屬性的區(qū)別
- divcss教程:深入了解css的行高Line Height屬性
- CSS文檔流,塊級元素和內(nèi)聯(lián)元素
- 5個你該知道的CSS3新技術(shù)
- 用正則表達式替換a標記href值
- 30個優(yōu)秀的CSS導(dǎo)航和按鈕設(shè)計教程
- css中px和em有什么區(qū)別
Div+CSS教程Rss訂閱Div+Css教程搜索
Div+CSS教程推薦
猜你也喜歡看這些
- DIV CSS網(wǎng)頁布局分析的兩個小例子
- DIVCSS菜單:超炫的菜單一張圖片實現(xiàn)鼠標的兩種狀態(tài)及CSS當(dāng)前頁效果
- DivCSS布局實例:很實用的圖文混排CSS列表-富有語義
- CSS布局實例:CSS標簽切換代碼實例教程
- CSS菜單實例:簡潔的效果火紅的圍城
- CSSFormExample:帶有小圖標的清爽CSS表單設(shè)計!
- 用背景圖片實現(xiàn)CSS柱狀圖表一例
- DIV CSS布局實例:半透明陰影效果的實現(xiàn)
- DIV CSS布局入門示例(二)寫入整體層結(jié)構(gòu)與CSS
- CSS實例:list-style-type在IE與FF中奇怪的現(xiàn)象解析
- 相關(guān)鏈接:
- 教程說明:
Div+CSS教程-Javascript來控制target屬性
。