target 属性怎么用 JS 来控制?

js|控制

在HTML 4.0 Strict和XHTML 1.0 STRICT里不允许在<a>标签里使用target属性,这是一件令网页设计者懊恼的事.在过渡的规范里还是允许使用的.但通过一定的方法,我们可以解决这一问题.
HTMl4.0规范里拿掉了target属性.但它添加了另外一个属性:rel.这个属性是用来指定包含链接的文档和所链接文档之间的关系的.规范里定义了其属性值(如:next,previous,chapter,section),在这些属性里大多数是用来定义一个大文档里各个小部分之间的关系的.事实上.规范里允许开发人员自由的使用非标准属性值做特定的运用.
在这里,我们采用一个自定义值external用于rel属性来标记一个链接,用来新开一个窗口.
不符合最新Web标准的链接代码:
<a href="document.html" target="_blank">external link</a>
运用rel属性:
<a href="document.html" rel="external">external link</a>
现在我们构建了一个符合Web标准的新开窗口的链接,我们还需要运用JavaScript是其实现新开窗口.脚本要实现的工作是当网页加载时,找到文档里的所有那些我们定义为rel="external"的超链接.
首先我们要判断浏览器.
if (!document.getElementsByTagName) return;
getElementsByTagName是DOM1标准里一个容易使用的方法,且它被现在的大多数浏览器所支持,因为一些旧的浏览器如Netscape 4和IE4不支持DOM1,所以我们必须通过判定这一方法是否存在来排除这些旧版本的浏览器.
下一步,我们通过getElementsByTagName方法取得文档里所有的<a>标签:
var anchors = document.getElementsByTagName("a");
anchors被赋值为包含各个<a>标签的数组,现在我们必须遍历各个<a>标签并且修改它:
for (var i=0; i < anchors.length; i++) {
var anchor = anchors;
找到要实现新开窗口的<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; 

时间: 2024-10-24 18:22:18

target 属性怎么用 JS 来控制?的相关文章

网页标准:target 属性怎么用 JS 来控制?

js|标准|控制|网页 在HTML 4.0 Strict和XHTML 1.0 STRICT里不允许在<a>标签里使用target属性,这是一件令网页设计者懊恼的事.在过渡的规范里还是允许使用的.但通过一定的方法,我们可以解决这一问题. HTMl4.0规范里拿掉了target属性.但它添加了另外一个属性:rel.这个属性是用来指定包含链接的文档和所链接文档之间的关系的.规范里定义了其属性值(如:next,previous,chapter,section),在这些属性里大多数是用来定义一个大文档里

如何控制哪个JSP页面打开一个新的连接?当两个JSP的target属性一致的情况下。

问题描述 如何控制哪个JSP页面打开一个新的连接?当两个JSP的target属性一致的情况下. 两个JSP页面,B页面是通过A页面jsp:forwar出来的,他们两个的target属性都相同.现在有个问题,我在B页面中有很多table,大多table中有双击域,来打开一个新的JSP页面,该页面是用来展示信息的. 但是问题来了,我这个B页面一点击双击域这个信息就自动在A页面中打开了~ 因为我打开的方式是用document.framename.src="XXXX.jsp"; 我试过很多方法

js 跳转(target属性)有难度

问题描述 js 跳转(target属性)有难度 var form_dl = document.main;? form_dl.target = 'aa_window'; //始终跳到相同的页面问题是: 在A页面点击一个连接跳转到B页面,当前停留的页面是B页面.然后再返回A页面继续点击那个连接 虽然B页面的刷新了 但是页面还是停留在了A页面. 我要解决的问题是不管有没有打开B页面 在你点击A页面连接的时候始终跳到B页面.怎么办?

用javascript来控制 链接的target 属性的代码_经验交流

在HTML 4.0 Strict和XHTML 1.0 STRICT里不允许在<a>标签里使用target属性,这是一件令网页设计者懊恼的事.在过渡的规范里还是允许使用的.但通过一定的方法,我们可以解决这一问题.         HTMl4.0规范里拿掉了target属性.但它添加了另外一个属性:rel.这个属性是用来指定包含链接的文档和所链接文档之间的关系的.规范里定义了其属性值(如:next,previous,chapter,section),在这些属性里大多数是用来定义一个大文档里各个小部

JS实现控制表格行内容垂直对齐的方法

 这篇文章主要介绍了JS实现控制表格行内容垂直对齐的方法,通过javascript的getElementById获取元素并设置其相应样式来实现这一功能,需要的朋友可以参考下     本文实例讲述了JS实现控制表格行内容垂直对齐的方法.分享给大家供大家参考.具体分析如下: 下面的代码通过表格的vAlign属性控制表格行的内容垂直对齐,可以置顶.可以居中.可以底部对齐 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 2

JS可以控制样式的名称写法一览

 这篇文章主要介绍了JS可以控制样式的名称写法,有需要的朋友可以参考一下 CSS语法 (不区分大小写) JavaScript语法 (区分大小写) border border border-bottom borderBottom border-bottom-color borderBottomColor border-bottom-style borderBottomStyle border-bottom-width borderBottomWidth border-color borderCol

js如何控制css伪元素内容(before,after)

原文:js如何控制css伪元素内容(before,after) js如何控制css伪元素(before,after) @(CSS 笔记)[伪元素|css3]曾经遇到的问题,在对抗UC浏览器屏蔽需要把内容输出到css 伪元素中输出.有个疑问如何用js控制它.于是在segmentfault提问,如下是对问题的整理: 如何用js控制css伪类after 简单粗暴的方式: 简单粗暴的方式,直接在html中添加样式覆盖掉之前样式规则 <style> p:after{content:'我是后缀'} <

JS实现控制表格行内容垂直对齐的方法_javascript技巧

本文实例讲述了JS实现控制表格行内容垂直对齐的方法.分享给大家供大家参考.具体分析如下: 下面的代码通过表格的vAlign属性控制表格行的内容垂直对齐,可以置顶.可以居中.可以底部对齐 <!DOCTYPE html> <html> <head> <script> function topAlign() { document.getElementById('tr2').vAlign="top"; } </script> <

如何实现框架窗口间的关联及超链接的target属性的使用

要实现框架窗口的关联,关键在于设置超链接的"target"目标窗口的属性,例子如下: 一.为右侧框架窗口添加"name"标识,如下 <frame src="right.html" name="rightFrame"/> 二.在左侧窗口中,设置"target"属性显示的窗口名,如下: <a href="right.html" target="rightFrame