我使用这段jQuery代码来获取链接的href:
var url = $(this).attr('href');
--还有这段代码可以跳转到该href:
window.location = url;
除了新页面在与之前的页面相同的窗口中打开,而我希望它在新窗口或选项卡中打开(在普通 html 中使用 target="_blank" 公式可以实现此目的),其他都符合我的要求。
问题:如何使用 jQuery 在新窗口或选项卡中打开 href?
谢谢您的帮助!
使用,
var url = $(this).attr('href');
window.open(url, '_blank');
更新: 最好使用prop获取href
,因为它将返回完整的URL并且速度稍快。
var url = $(this).prop('href');
问题:如何使用jQuery在新窗口或标签中打开href?
var url = $(this).attr('href').attr('target','_blank');
$('.someSelector').bind('touchend click', function() {
var url = $('a', this).prop('href');
var target = $('a', this).prop('target');
if(url) {
// # open in new window if "_blank" used
if(target == '_blank') {
window.open(url, target);
} else {
window.location = url;
}
}
});
.ready
函数用于在页面加载完成后插入属性。$(document).ready(function() {
$("class name or id a.your class name").attr({"target" : "_blank"})
})
jQuery("a").prop("target", "_blank");
时没有将其包含在$document.ready()
中,这在Chrome中无法正常工作,但是一旦我将其包含在$document.ready()
调用中,它就开始正常工作了。 - Nathan Waileshttp://rip747.github.com/popupwindow/
或者,您可以始终使用JavaScript的window.open函数。
请注意,无论哪种方法,新窗口都必须是响应用户输入/操作而打开的(例如,单击链接或按钮)。否则,浏览器的弹出窗口拦截程序将会阻止弹出窗口。
尝试使用以下代码。
$(document).ready(function(){
$("a[@href^='http']").attr('target','_blank');
});
url='/controller/action';
window.open(location.origin+url,'_blank');