<a href='/a01'></a>
如果我使用javascript检查.href那么它会给出完整路径,而不是/ a01。
使用getAttribute会返回完整路径,但它比.href慢得多。有没有快速的方法来获得实际的href?
答案 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
会遇到哪种性能问题。