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

标签 javascript twitter-bootstrap modal-dialog

我只是想知道这条线对 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/

相关文章:

javascript - 在设定的时间内更改图像 onClick

javascript - 在 Bootstrap 模式中将 javascript ID 转换为 PHP 变量

html - 模态弹出窗口关闭,再次打开时不刷新

javascript - 演示 : how to import this micromodal library

jQuery 插件在模态中不起作用

javascript - JavaScript 中的事件

javascript - 为自动创建的安全组添加规​​则

javascript - 如何使用selenium JavascriptExecutor将文本发送到ID未知的隐藏文本字段中

html - 在居中的 <h1> 旁边放置一个 <p>

javascript - 如何使用语义 ui 制作远程模态