我有一个锚标记,如下所示:
<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。
答案 0 :(得分:1)
href属性(如element.href
中)始终返回包含主机名等的绝对URL。
如果您只想要属性值而不是绝对URL,则可以执行
e.target.getAttribute('href');
或使用jQuery
$(e.target).attr('href');
不是在jQuery中,prop()会返回属性,即绝对URL
$(e.target).prop('href');