2014-01-23 34 views
1

我有HTML的负载a标签像这样在我的HTML:将目标属性添加到<a>,其中有“#!”以外的其他hrefs。

<a href="#!></a> 
<a href="something.html"> 

我要每个ahref不是#!添加属性目标=“_空白”。

我已经试过这样:

$(document).ready(function() { 
    if($('a').attr('href').length > 3){ 
     $(this).attr("target","_blank"); 
    } 
}); 

但是,这并不工作,任何想法,为什么?

回答

1

试试这个

+0

啊,射击,你打我一拳! –

0

我相信你错过了引号...

<a href="#!"></a> 

而且

if($(this).attr('href') != '#!') 
0

一两件事,您的标记是无效的... <a href="#!"></a>应是怎么写的...在你的例子中,你错过了href属性的双引号......

另一方面,您正在检查$('a'),它将返回一组锚定标记。数组没有href属性,所以它会死的,就在那里。

我想你要寻找的是一样的东西

$("a").each(function(){ 
    if($(this).attr("href").length > 3) { 
     $(this).attr("target","_blank"); 
    } 
}); 
0

这里有一个办法做到这一点使用jQuery.not功能。 http://jsfiddle.net/wPa8S/

$(document).ready(function(){ 
    $("a").not("[href='#!']").prop("target", "_blank"); 
}); 
相关问题