2017-02-25 168 views
-1

我正在使用此代碼打開新標籤頁中的所有網址。 但我想要的網址#不要在新標籤中打開。例如:帶有標籤的超鏈接不會在新標籤頁中打開

jQuery("a").attr("target", "_blank");
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> 
 
<a href="#">content</a> 
 
<a href="#contact">Contact</a>

感謝

回答

0

可以追加_blank前檢查href屬性值。

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

在上面的代碼中,我們檢查了href價值,如果它是#然後忽略它,否則追加_blank值的元素目標。

Demo


如果您正在尋找忽略所有a標籤,其中來自#href開始,你可以這樣做

jQuery("a").attr("target", function() { 
    if ($(this).attr('href')[0] != '#') { //checks for the first char, if #, ignore 
    return '_blank'; 
    } 
}); 

Demo

+0

還檢查#contact? – vusan

+0

@vusan啊,我以爲他想忽略空白的哈希網址,將修改 –

+0

@ Mr.Alien第二個演示正是我正在尋找的。謝謝 –

0

您可以檢查工作小提琴jsfiddle.net/bharatsing/t0fkzL5p/

$("a").click(function(){ 
    var href=$(this).attr("href"); 
    if(href!="" && href!="#"){ 
    $(this).attr("target", "_blank"); 
    } 
    else{ 
    return false; 
    } 
}); 
相關問題