javascript - anchor 标记 href 与设置的内容不同

标签 javascript jquery html backbone.js backbone-routing

我有一个如下所示的 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');

FIDDLE

关于javascript - anchor 标记 href 与设置的内容不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23375167/

相关文章:

jquery - 我不能在 FancyZoom 弹出窗口中使用 JQuery 吗?

javascript - RNG 游戏正在制作中,需要帮助确定命中类型

javascript - 此 jQuery 代码无法正常工作的新手问题

javascript - 通过JQuery提交表单时如何点击提交按钮

Javascript 事件处理程序图像对象

html - 如何改变<hr/>元素的颜色?

html - 防止浏览器文本输入建议 2021 chrome 版本 88.0.4324.190

javascript - "external"javascript函数可以调用 "jQuery functions"吗?

javascript - 使用 JS 和 jQuery 实现按键

javascript - 如何从 Javascript 调用经过 Firebase 身份验证的云端点?