致力于青岛网站建设、青岛搜索优化、青岛网站设计、青岛SEO的专业开发团队!
当前位置:主页 > 网站建设 > CSS >

There is no attribute target for this element

www.elingxi.com  2010-08-26 15:47

此元素没有 target 属性的标签,There is no attribute target for this element.

在W3C校验中出现此错误的行一般都是有target="_blank",我们采用过渡型的DOCTYPE transitional. dtd时没有问题,但是当我们使用严格的DOCTYPE District时,这个方法将通不过W3C的校验,会出现如下错误提示:

"there is no attribute target for this element(in this HTML version)"

原来在HTML4.01/XHTML1.0/XHTML1.1严格DOCTYPE下,target="_blank"、target="_self"等等语法都是无效的,有些人就问为什么不允许使用target="_blank",这个属性很方便啊。其实这些标准的制定都是经过一些专家的论证的,主要是从“易用性、友好性”方面考虑,而target=_blank这个功能就好比是在强奸用户的行为,不经过用户允许便打开一个新的浏览器窗口,不符合友好性的原则,所以才被去除掉了。那我想用怎么办,其实也不是没有办法。

在dstrict声明下,去掉了target又新增了一种标签,那就是rel,我们便可以利用此标签,结合js脚本实现在新窗口中打开的目的。方法如下:

运用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;

至此,我们完美的解决了上面的问题。

本文出自:青岛网站建设 青岛SEO http://www.elingxi.com

 

原文链接地址:http://www.elingxi.com/css/0RC22010.html

本文原载: 青岛网站建设 - 青岛SEO [http://www.elingxi.com/]
本文永久链接: http://www.elingxi.com/css/0RC22010.html

==华丽的分割线==

您可能还喜欢

推荐文章

  1. 本地存储在HTML5中的应用
  2. 调查结果:HTML5元素在新产品中的
  3. 是否要重置CSS
  4. 2010年10个最佳网站建设创意
  5. CSS优化——链接列表内不要使用外
  6. 网站建设中常见的HTML错误
  7. 浏览器兼容——解析list-style
  8. CSS渲染效率——高效CSS之路
  9. CSS渲染效率的一些见解
  10. 简析CSS的核心观点
青岛网站建设超值惊爆价!
网站建设加1个非热门关键词排名仅需1800元,续费更是低至800元/年。

QQ在线会话