获取文档中使用的实际href而不是完整路径?

时间:2012-03-12 01:52:21

标签: javascript

<a href='/a01'></a>

如果我使用javascript检查.href那么它会给出完整路径,而不是/ a01。

使用getAttribute会返回完整路径,但它比.href慢得多。有没有快速的方法来获得实际的href?

2 个答案:

答案 0 :(得分:4)

如果您说您只想要路径,请使用.pathname属性而不是.href属性。

查询字符串和哈希标记也有.search.hash。还有很多其他的。


另一种选择是......

elem.attributes['href'].value;

......但如果它更快,我会感到惊讶。我也不确定浏览器兼容性问题。

另外几个......

elem.attributes.getNamedItem('href').value;
elem.attributes.item('href').value;
elem.getAttributeNode('href').value

如果.value属性在旧版浏览器中出现问题,请尝试nodeValue

答案 1 :(得分:1)

  

使用getAttribute会返回完整路径

我认为你的意思是返回实际的href而不是完整的路径;因为这正是它应该被用来获得那个价值的东西。

您始终可以使用链接的属性进行播放:

https://developer.mozilla.org/en/DOM/HTMLAnchorElement

然后使用window.location属性,提取url的相对部分,但这不会返回实际 href值属性,而只返回相对的属性,而我不会知道它是否值得 - 它的可读性和容易出错。

我想知道在这种情况下使用getAttribute会遇到哪种性能问题。