将目标属性添加到<a> that have hrefs other than &#34;#!&#34;</a>

时间:2014-01-23 20:00:31

标签: jquery html

我的HTML中有大量的html a标签:

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

我希望每个不是a的{​​{1}} href添加属性target =“_ blank”。

我试过这个:

#!

但这对任何想法都不起作用?

4 个答案:

答案 0 :(得分:1)

试试这个

$(document).ready(function() {
  $('a').each(function(index){
      if($(this).attr('href') != '#!')
           $(this).attr("target","_blank");
   });
});

答案 1 :(得分:0)

我相信你错过了报价...

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

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

答案 2 :(得分:0)

首先,你的标记无效...... <a href="#!"></a>应该是它的编写方式......在你的例子中,你错过了href属性的结束双引号...

另一方面,你正在检查$('a'),它将返回一个锚标签数组。数组没有href属性,所以它会在那里死掉。

我认为您正在寻找的是

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

答案 3 :(得分:0)

这是使用jQuery.not函数执行此操作的方法。 http://jsfiddle.net/wPa8S/

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