天天操天天操-欧美黄视频-亚洲午夜激情-黄色网址免费-少妇精品无码一区二区三区-欧美成人免费在线视频-国产毛片一区二区三区-欧美一区二区三区婷婷月色-四虎影视库-日本在线高清-毛片999-天天操欧美-国产午夜伦理-手机福利在线-视频在线91-免费在线观看亚洲-好爽快一点高潮了-国产污视频在线-成 人片 黄 色 大 片-激情久久网站-丰满少妇xxxx-女教师在办公室被躁在线播放-亚洲高清色-视色视频在线观看-婷婷色5月-又粗又硬又黄又爽的视频-好大好湿好硬顶到了好爽视频-中国美女黄色-国产精品刮毛-国内三级在线观看

如何用JS來控制target屬性

2012/5/7 9:17:55   閱讀:5537    發(fā)布者:5537

HTMl4.0規(guī)范里拿掉了target屬性.但它添加了另外一個屬性:rel.這個屬性是用來指定包含鏈接的文檔和所鏈接文檔之間的關系的.規(guī)范里定義了其屬性值(如:next,previous,chapter,section),在這些屬性里大多數(shù)是用來定義一個大文檔里各個小部分之間的關系的.事實上.規(guī)范里允許開發(fā)人員自由的使用非標準屬性值做特定的運用.不符合最新Web標準的鏈接代碼:
<a href="document.html" target="_blank">external link</a>

運用rel屬性:
<a href="document.html" rel="external">external link</a>

現(xiàn)在我們構(gòu)建了一個符合Web標準的新開窗口的鏈接,我們還需要運用JavaScript是其實現(xiàn)新開窗口.腳本要實現(xiàn)的工作是當網(wǎng)頁加載時,找到文檔里的所有那些我們定義為rel="external"的超鏈接.首先我們要判斷瀏覽器.
if (!document.getElementsByTagName) return;

getElementsByTagName是DOM1標準里一個容易使用的方法,且它被現(xiàn)在的大多數(shù)瀏覽器所支持,因為一些舊的瀏覽器如Netscape 4和IE4不支持DOM1,所以我們必須通過判定這一方法是否存在來排除這些舊版本的瀏覽器.

下一步,我們通過getElementsByTagName方法取得文檔里所有的<a>標簽:
var anchors = document.getElementsByTagName("a");

anchors被賦值為包含各個<a>標簽的數(shù)組,現(xiàn)在我們必須遍歷各個<a>標簽并且修改它:

for (var i=0; i < anchors.length; i++) {
var anchor = anchors;

找到要實現(xiàn)新開窗口的<a>標簽
以下是引用片段:
if (anchor.getAttribute("href") &&
anchor.getAttribute("rel") == "external") 

接下來.建立屬性值target并賦值"_target":
anchor.target = "_blank";

完整的代碼:

以下是引用片段:
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;