在本地提供的测试页:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<a href="http://127.0.0.1:8000/test2" id="good">good</a>
<a href="/test1" id="bad">bad</a>
在 Firebug 的命令行中:
goods=$('a[href^=http]');
bads=$('a:not([href^=http])');
goods[0].href
按预期输出 "127.0.0.1:8000/test1"
bads[0].href
输出 "127.0.0.1:8000/test2"
,令人惊讶。我期待 "/test1"
。
似乎 Firebug 或 Firefox 试图通过向我显示假定的主机名来帮助我。
如何访问添加到控制台输出中的 URL 路径的主机名值?
最佳答案
.href
始终返回绝对 URL。代替 bads[0].href
,使用 bads.attr('href')
。这应该返回 "/test1"
。
关于javascript - 如何在不同状态下访问 DOM 中 <a> 的 'href' 属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32342149/