我正在使用这段jQuery代码来获取链接的href:
var url = $(this).attr('href');
- 这段代码转到那个href:
window.location = url;
一切都是我想要的方式,除了新页面在前一个窗口的同一个窗口中打开,我希望它在一个新的窗口或标签中打开(通过使用简单的html实现的东西) target =“_ blank”公式)。
问题:如何使用jQuery在新窗口或标签中打开href?
感谢您的帮助!
答案 0 :(得分:81)
答案 1 :(得分:58)
使用,
var url = $(this).attr('href');
window.open(url, '_blank');
更新:最好使用道具检索href
,因为它会返回完整的网址并且速度稍快。
var url = $(this).prop('href');
答案 2 :(得分:9)
问题:如何使用打开新窗口或标签中的href jQuery的?
var url = $(this).attr('href').attr('target','_blank');
答案 3 :(得分:3)
检测是否使用了目标属性并包含“_blank”。对于不喜欢“_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;
}
}
});
答案 4 :(得分:1)
如果你想通过jQuery创建弹出窗口,那么你需要使用一个插件。这个似乎会做你想做的事情:
http://rip747.github.com/popupwindow/
或者,您始终可以使用JavaScript的window.open函数。
请注意,无论使用哪种方法,都必须打开新窗口以响应用户输入/操作(例如,单击链接或按钮)。否则,浏览器的弹出窗口阻止程序将阻止弹出窗口。
答案 5 :(得分:1)
.ready
函数用于在页面加载完成后插入属性。
$(document).ready(function() {
$("class name or id a.your class name").attr({"target" : "_blank"})
})
答案 6 :(得分:0)
尝试使用以下代码。
$(document).ready(function(){
$("a[@href^='http']").attr('target','_blank');
});