带有标签的超链接不会在新标签页中打开
问题描述:
我正在使用此代码打开新标签页中的所有网址。 但我想要的网址#不要在新标签中打开。例如:带有标签的超链接不会在新标签页中打开
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>
感谢
答
可以追加_blank
前检查href
属性值。
jQuery("a").attr("target", function() {
if ($(this).attr('href') != '#') {
$(this).attr('target', '_blank');
}
});
在上面的代码中,我们检查了href
价值,如果它是#
然后忽略它,否则追加_blank
值的元素目标。
如果您正在寻找忽略所有a
标签,其中来自#
href
开始,你可以这样做
jQuery("a").attr("target", function() {
if ($(this).attr('href')[0] != '#') { //checks for the first char, if #, ignore
return '_blank';
}
});
答
您可以检查工作小提琴jsfiddle.net/bharatsing/t0fkzL5p/
$("a").click(function(){
var href=$(this).attr("href");
if(href!="" && href!="#"){
$(this).attr("target", "_blank");
}
else{
return false;
}
});
还检查#contact? – vusan
@vusan啊,我以为他想忽略空白的哈希网址,将修改 –
@ Mr.Alien第二个演示正是我正在寻找的。谢谢 –