我有一个如下所示的 anchor 标记:
<a href="/folder/folderid">name</a>
单击此 anchor 标记后,我将执行此操作
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。
最佳答案
href 属性(如 element.href
中所示)始终返回包含主机名等的绝对 URL。
如果您只想要属性值而不是绝对 URL,您可以这样做
e.target.getAttribute('href');
或者使用 jQuery
$(e.target).attr('href');
在 jQuery 中 prop() 不会返回属性,即绝对 URL
$(e.target).prop('href');
关于javascript - anchor 标记 href 与设置的内容不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23375167/