【问题标题】:How can I use jQuery to stop IE from ignoring the hash如何使用 jQuery 阻止 IE 忽略哈希
【发布时间】:2013-04-10 09:09:59
【问题描述】:

这是我的示例链接:

<div class="aside-box">
<a href="#">test 1</a>
<a href="#login-box" class="login-window">test 2</a>
</div>

一些 IE 浏览器忽略了哈希。所以不要显示:

<a href="#login-box" class="login-window">

它只显示:

<a href="#" class="login-window">

我可以在此链接之前添加一些 jQuery 以确保它不会仅在已被剥离的情况下被忽略吗?

我正在尝试使用它,但到目前为止还没有运气:

<script type="text/javascript">
$('#aside-box a:not([href*="#"])').live('click',function() 
$(this).attr('href', $(this).attr('href') + "#aside-box");        
});
</script>

我已对此进行了编辑,因为上述解决方案(实际上)有效。

jQuery(上图)修复了它。我的印象是它不起作用,但它影响的人只是给我回信说它现在工作正常。

很难使用所有浏览器。

【问题讨论】:

  • 忽略哈希是什么意思?
  • 有可复制的例子吗?

标签: jquery hash hyperlink


【解决方案1】:

猜测您在这里的意思,但也许您的问题是当您将 #aside-box 定义为类而不是 HTML 中的 id 时,您试图定位它(例如,当前您的 jQuery 就是这样做的)。

此外,一些古老的浏览器只会遵循使用名称属性定义的片段,例如&lt;a name='foo' id='foo'&gt;

除此之外,如果您点击&lt;a href="#foo"&gt;bar&lt;/a&gt;,您将被带到ID为foo的元素。

【讨论】:

    【解决方案2】:

    原来原来的帖子有解决方案。我就是无法重现这个问题,最后得到确认,在 jQuery 安装到位后它实际上正在工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-25
      • 1970-01-01
      • 2020-12-05
      • 1970-01-01
      • 2017-12-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多