Javascript 为什么不在新选项卡中打开超链接?

Javascript 为什么不在新选项卡中打开超链接?,javascript,jquery,html,hyperlink,Javascript,Jquery,Html,Hyperlink,我有3个html文件: 在新窗口中强制打开超链接。html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Force hyperlink open in new window</title> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jq

我有3个html文件: 在新窗口中强制打开超链接。html

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Force hyperlink open in new window</title>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>

</head>
<body>
<a href="force_hyperlink_open_in_new_window_01.html">Foo</a>
<a href="force_hyperlink_open_in_new_window_02.html">Bar</a>

<script type="text/javascript">
    $('a[href^="http://"]')
            .not('[target="_blank"]')
            .attr('target', '_blank');
</script>

</body>
</html>
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>01</title>
    <style>
        body{
            background-color: tomato;
        }
    </style>
</head>
<body>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>02</title>
    <style>
        body{
            background-color: limegreen;
        }
    </style>
</head>
<body>
</body>
</html>

在新窗口中强制打开超链接
$('a[href^=“http://]”)
.not('[target=“_blank”]”)
.attr('target','u blank');
在新窗口中强制打开超链接\u 01.html

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Force hyperlink open in new window</title>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>

</head>
<body>
<a href="force_hyperlink_open_in_new_window_01.html">Foo</a>
<a href="force_hyperlink_open_in_new_window_02.html">Bar</a>

<script type="text/javascript">
    $('a[href^="http://"]')
            .not('[target="_blank"]')
            .attr('target', '_blank');
</script>

</body>
</html>
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>01</title>
    <style>
        body{
            background-color: tomato;
        }
    </style>
</head>
<body>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>02</title>
    <style>
        body{
            background-color: limegreen;
        }
    </style>
</head>
<body>
</body>
</html>

01
身体{
背景色:番茄;
}
在新窗口中强制打开超链接\u 02.html

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Force hyperlink open in new window</title>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>

</head>
<body>
<a href="force_hyperlink_open_in_new_window_01.html">Foo</a>
<a href="force_hyperlink_open_in_new_window_02.html">Bar</a>

<script type="text/javascript">
    $('a[href^="http://"]')
            .not('[target="_blank"]')
            .attr('target', '_blank');
</script>

</body>
</html>
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>01</title>
    <style>
        body{
            background-color: tomato;
        }
    </style>
</head>
<body>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>02</title>
    <style>
        body{
            background-color: limegreen;
        }
    </style>
</head>
<body>
</body>
</html>

02
身体{
背景色:柠檬黄;
}

为什么两个超链接不能在新选项卡中打开(我使用Google Chrome版本52.0.2743.116(64位))?

可能是因为HREF不是以http:///开头的。此外,您还可以通过将此行置于标题中,强制打开新选项卡中的链接:

<base target="_blank" />

可能是因为HREF不是以http:///开头的。此外,您还可以通过将此行置于标题中,强制打开新选项卡中的链接:

<base target="_blank" />

您的href不匹配,因为他们没有http

更改:

$('a[href^="http://"]')


grep所有链接。

您的href不匹配,它们没有http

更改:

$('a[href^="http://"]')


grep所有链接。

您选择以
http://
开头的锚点,而您的链接是相对的,而不是以
http://
开头

将JQuery选择器更改为常规锚定:
$('a')
,如果他们还没有目标,它将添加您的目标。看


选择以http://开头的锚点,而链接是相对的,而不是以http://开头

将JQuery选择器更改为常规锚定:
$('a')
,如果他们还没有目标,它将添加您的目标。看

您的“href”属性值不以“http://”开头。您的“href”属性值不以“http://”开头。