我正在使用此代码在新选项卡中打开所有URL。但是我希望#不打开的URL在新标签中打开。例如:
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
值附加到元素目标。
演示
如果您想忽略href
从#
开始的所有a
标签,则可以做
jQuery("a").attr("target", function() {
if ($(this).attr('href')[0] != '#') { //checks for the first char, if #, ignore
return '_blank';
}
});
demo
您可以检查工作小提琴Jsfiddle.net/bharatsing/t0fkzl5p/
$("a").click(function(){
var href=$(this).attr("href");
if(href!="" && href!="#"){
$(this).attr("target", "_blank");
}
else{
return false;
}
});