gpt4 book ai didi

javascript - href && href.replace(/.*(?=#[^\s]+$)/, '' ) 在 bootstrap 模式中被注释为 "strip for ie7",这一行对 ie7 有什么作用?

转载 作者:行者123 更新时间:2023-11-30 16:36:32 25 4
gpt4 key购买 nike

我只是想知道这条线对 IE7 有什么好处?此代码片段来自 Bootstrap 模式源代码。

var $target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\s]+$)/, ''))) // strip for ie7

最佳答案

在 IE8 之前,IE 对 getAttribute() 的实现中有一个“功能”

如果你有一个 <a>像这样标记

<a href="#anchor">link</a>

并且您正在使用 element.getAttribute('href') IE7 返回绝对路径 - http://example.com/index.html#anchor而其他浏览器只返回 #anchor .

bootstrap 中的正则表达式会处理这个 - 它会删除 # 之前的所有内容.


更新。另请参阅 SO(2009 年 10 月!)-> Wrong extraction of .attr(“href”) in IE7 vs all other browsers? 中的这个非常的老问题以及如何解决问题的各种建议。在我看来,Twitter Bootstraps 解决方案要好得多。

关于javascript - href && href.replace(/.*(?=#[^\s]+$)/, '' ) 在 bootstrap 模式中被注释为 "strip for ie7",这一行对 ie7 有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32630175/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com