jQuery:转到带有target =“_ blank”的URL

时间:2011-07-13 02:35:35

标签: jquery url href target

我正在使用这段jQuery代码来获取链接的href:

var url = $(this).attr('href');

- 这段代码转到那个href:

window.location = url;

一切都是我想要的方式,除了新页面在前一个窗口的同一个窗口中打开,我希望它在一个新的窗口或标签中打开(通过使用简单的html实现的东西) target =“_ blank”公式)。

问题:如何使用jQuery在新窗口或标签中打开href?

感谢您的帮助!

7 个答案:

答案 0 :(得分:81)

您需要打开一个新窗口:

window.open(url);

https://developer.mozilla.org/en-US/docs/DOM/window.open

答案 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');
});