锚标记href与设置的不同

时间:2014-04-29 21:00:34

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

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

<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。

1 个答案:

答案 0 :(得分:1)

href属性(如element.href中)始终返回包含主机名等的绝对URL。

如果您只想要属性值而不是绝对URL,则可以执行

e.target.getAttribute('href');

或使用jQuery

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

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

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

FIDDLE