目标属性的CSS版本


CSS version of target attribute

是否有类似的css版本的目标属性,而不是编写

<a href="example.php" target="something">Link</a>

我本可以写:

<style type="text/css">
a { target:something; }
</style>

不,没有

首先,target是一个HTML属性,而不是CSS样式的属性。CSS无法修改或创建新属性。但是,您可以使用选择器对所有具有目标属性的a元素进行样式设置:

a[target] {
...
}

您暂时不能,但W3C有一个名为CSS3超链接演示模块的工作草案,现在已经放弃了。它定义了一个名为target的CSS属性,旨在替换HTML属性,实际上它比旧的HTML target更具体,允许做更多的事情。不幸的是,据我所知,没有浏览器试图实现它,我认为这就是放弃的原因。然而,在未来可能会再次提出(我希望,至少)。

正如其他人所说,CSS还没有办法做到这一点。

实现 的一种方法是使用jQuery+css。

如果你给所有链接都指定了一个特定的类,那么使用这个jQuery来设置目标,如果你想为所有链接设置目标,那么使用第二组代码:

$(document).ready(function(){
    if($('a').hasClass('CLASSNAME')) {
        $(this).attr("target", "TARGET");
    }
}

如果没有设置类,并且您希望页面上的所有链接(不是内部链接)都有一个设置的目标,请使用以下方法:

$(document).ready(function(){
$('a[href^=http]:not([href^=http://YOURSITEURLWITHWWW],[href^=http://YOURSITEURLWITHOUTWWW])')
    .add('a[href^=www]:not([href^=YOURSITEURLWITHWWW])')
        .attr('target','_blank');
}