href不断向URL

时间:2016-02-22 14:01:10

标签: javascript jquery html css

我在这里遇到了一些困难。我正在尝试将<a>标记设置为外部网址。但每次这样做时,包含URL的index.html的本地路径都会添加到链接中。我查看了我的jQuery代码,似乎没有看到问题所在。我甚至使用console.log(url)进行测试,并正确返回URL。

&#13;
&#13;
$('.smoothscroll').on("click", function() {
    if (nav.hasClass('mobile')) nav.fadeOut('fast');
})

$('.smoothscroll').on('click', function (e) {
    e.preventDefault();

    var target = this.hash,
    $target = $(target);

    $('html, body').stop().animate({
        'scrollTop': $target.offset().top
    }, 800, 'swing', function () {
        window.location.hash = target;
    });
});
    
$('#login').on('click', function (e){
    e.preventDefault();
    var url = $(this).attr('href');
    window.open(url, '_blank');
});
&#13;
<ul id="nav" class="nav">
    <li class="current"><a class="smoothscroll" href="#hero">Home.</a></li>
     <!--<li><a class="smoothscroll" href="#portfolio">Works.</a></li>-->
	 <li><a class="smoothscroll" href="#about">About Us.</a></li>
    <li><a class="smoothscroll" href="#portfolio">Features.</a></li>
    <li><a class="smoothscroll" href="#contact">Create Account.</a></li>
    <li><a class="login" id="login" href="google.com">Login.</a></li>
 </ul>
&#13;
&#13;
&#13;

每次在新标签页中打开新网址时,我都会得到:file:/// C:/PASSIS%20-%20Landing%20Page/google.com

Local File Path Added To URL

3 个答案:

答案 0 :(得分:4)

对于外部URL,您需要拥有协议(http://https://),以便HTML知道它是外部资源/站点而不是本地资源。

答案 1 :(得分:2)

您必须在https://之前添加http://google.com)协议,因为您没有指向本地文件,而是指向外部页面:

<a class="login" id="login" href="https://google.com">Login.</a>

答案 2 :(得分:2)

这也让我很困惑。解决方案很简单,只需将协议类型添加到链接中,例如:

<a href="https://google.com">Google</a>