【问题标题】:anchor tag href is different than what is set锚标签href与设置的不同
【发布时间】:2014-04-29 21:00:33
【问题描述】:

我有一个如下所示的锚标记:

<a href="/folder/folderid">name</a>

点击这个锚标记我正在这样做

    handleAnchorClick: function(e) {
        console.log("target:",e.target);
        console.log("href:",e.target.href);
        event.preventDefault();

        // navigate to this folder using my app router
        backbonerouter.navigate(e.target.href,{trigger:true}); //does not work as the value is wrong
        // tries to navigate to this: mydomain.com/mydomain.com/folder/folderid
    }

控制台日志语句给了我这个:

target: <a href="/folder/folderid">name</a>
href: "https://mydomain.com/folder/folderid"  //instead of just /folder/folderid

到底发生了什么事,我如何使用我的路由器导航到这个文件夹 ID。

【问题讨论】:

    标签: javascript jquery html backbone.js backbone-routing


    【解决方案1】:

    href 属性,如element.href,总是返回一个包含主机名等的绝对 URL。

    如果你只想要属性值而不是绝对 URL,你可以这样做

    e.target.getAttribute('href');
    

    或使用 jQuery

    $(e.target).attr('href');
    

    不是在 jQuery prop() 中会返回属性,即绝对 URL

    $(e.target).prop('href');
    

    FIDDLE

    【讨论】:

      猜你喜欢
      • 2019-03-07
      • 2010-10-11
      • 2010-11-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多