jquery – 错误提取.attr(“href”)在IE7与所有其他浏览器?

前端之家收集整理的这篇文章主要介绍了jquery – 错误提取.attr(“href”)在IE7与所有其他浏览器?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
可以真的是,在所有其他浏览器相比,在IE7的链接的attr(“href”)命令处理非常不同吗?

让我们说,我有一个页面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”。

我相信最后提到的情况是最正确的一个,所以它只是一个case的IE7是一个坏男孩还是它是一个bug在jQuery?

解决方法

这肯定不是jQuery中的一个错误,而是浏览器的不一致的实现.getAttribute(‘href’) – 我建议只使用.get(0).href的一致性。

看起来像你可以访问属性文本在IE和Mozilla使用.get(0).getAttribute(‘href’,2)如果你不想绝对URI。注意,这将不工作在Opera和我没有测试在Safari / Chrome /任何其他。

你也可以删除域或拆分的’#’for .get(0).href和使用数组的第二部分,假设它甚至包含’#'(检查.length)。

http://www.glennjones.net/Post/809/getAttributehrefbug.htm

原文链接:https://www.f2er.com/jquery/184321.html

猜你在找的jQuery相关文章