难道真的是这样吗?attr("href")
与所有其他浏览器相比,IE7 中的链接命令处理方式非常不同?
假设我有一个页面http://example.com/page.html我有这个 HTML:
<a href="#someAnchor" class="lnkTest">Link text</a>
和这个 jQuery:
var strHref = $(".lnkTest").attr("href");
那么在 IE7 中的值strHref
变量将是"http://example.com/page.htm#someAnchor"
但在其他浏览器中它会是"#someAnchor"
.
我相信最后提到的情况是最正确的,那么这只是 IE7 是一个坏孩子的情况还是 jQuery 中的一个错误?
肯定是notjQuery 中的一个错误,而是浏览器不一致的实现.getAttribute('href')
- 我建议只使用.get(0).href
为了一致性。
似乎您可以使用 IE 和 Mozilla 访问属性文本.get(0).getAttribute('href', 2)
如果您不需要绝对 URI。但请注意,这在 Opera 中不起作用,而且我还没有在 Safari/Chrome/其他任何东西中进行测试。
您还可以删除域或用“#”分割.get(0).href
并使用数组的第二部分,假设它甚至包含“#”(检查.length
).
http://www.glennjones.net/Post/809/getAttributehrefbug.htm
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)