javascripttarget:Javascript来控制 target属性



  在HTML4.0Strict和XHTML1.0STRICT里不允许在<a>标签里使用target属性,这是件令网页设计者懊恼事.在过渡规范标准里还是允许使用.但通过思路方法,我们可以解决这问题.

  HTMl4.0规范标准里拿掉了target属性.但它添加了另外个属性:rel.这个属性是用来指定包含链接文档和所链接文档的间关系.规范标准里定义了其属性值(如:next,previous,chapter,section),在这些属性里大多数是用来定义个大文档里各个小部分的间关系.事实上.规范标准里允许开发人员自由使用非标准属性值做特定运用.

  在这里,我们采用个自定义值external用于rel属性来标记个链接,用来新开个窗口.

  不符合最新Web标准链接代码:

\" style=\"margin:0px 2px -3px 0px\" alt=\"div css xhtml xml Example Source Code\"/> Example Source Code [www.52css.com]
<ahref=\"document.html\"target=\"_blank\">externallink</a>


  运用rel属性:

\" style=\"margin:0px 2px -3px 0px\" alt=\"div css xhtml xml Example Source Code\"/> Example Source Code [www.52css.com]
<ahref=\"document.html\"rel=\"external\">externallink</a>


  现在我们构建了个符合Web标准新开窗口链接,我们还需要运用JavaScript是其实现新开窗口.脚本要实现工作是当网页加载时,找到文档里所有那些我们定义为rel=\"external\"超链接.

  首先我们要判断浏览器.

\" style=\"margin:0px 2px -3px 0px\" alt=\"div css xhtml xml Example Source Code\"/> Example Source Code [www.52css.com]
(!document.getElementsByTagName);


  getElementsByTagName是DOM1标准里个容易使用思路方法,且它被现在大多数浏览器所支持,些旧浏览器如Netscape4和IE4不支持DOM1,所以我们必须通过判定这思路方法是否存在来排除这些旧版本浏览器.

  下步,我们通过getElementsByTagName思路方法取得文档里所有<a>标签:

\" style=\"margin:0px 2px -3px 0px\" alt=\"div css xhtml xml Example Source Code\"/> Example Source Code [www.52css.com]
varanchors=document.getElementsByTagName(\"a\");


  anchors被赋值为包含各个<a>标签,现在我们必须遍历各个<a>标签并且修改它:

\" style=\"margin:0px 2px -3px 0px\" alt=\"div css xhtml xml Example Source Code\"/> Example Source Code [www.52css.com]
for(vari=0;i<anchors.length;i){
varanchor=anchors;


  找到要实现新开窗口<a>标签

\" style=\"margin:0px 2px -3px 0px\" alt=\"div css xhtml xml Example Source Code\"/> Example Source Code [www.52css.com]
(anchor.getAttribute(\"href\")&&
anchor.getAttribute(\"rel\")\"external\")


  接下来.建立属性值target并赋值\"_target\":

\" style=\"margin:0px 2px -3px 0px\" alt=\"div css xhtml xml Example Source Code\"/> Example Source Code [www.52css.com]
anchor.target=\"_blank\";


  完整代码:

\" style=\"margin:0px 2px -3px 0px\" alt=\"div css xhtml xml Example Source Code\"/> Example Source Code [www.52css.com]
functionexternalLinks{
(!document.getElementsByTagName);
varanchors=document.getElementsByTagName(\"a\");
for(vari=0;i<anchors.length;i){
varanchor=anchors;
(anchor.getAttribute(\"href\")&&
anchor.getAttribute(\"rel\")\"external\")


anchor.target=\"_blank\";
}
}
window.onload=externalLinks;

Tags:  javascript添加属性 javascript属性 javascriptnbsp javascripttarget

延伸阅读

最新评论

发表评论