所选的链接类在网络资源管理器上不能正确显示

Selected Link class not showing correctly on inet explorer

本文关键字:不能 显示 资源管理器 网络 链接      更新时间:2023-09-26

我通过java脚本创建了一个选定的链接类,以突出显示用户当前所在页面的菜单链接:

<script>
$(document).ready(function(){
  $('a').each(function(){
    if($(this).prop('href')==window.location.href){
       $(this).addClass('selected');
  }});
});
</script>

然后在css中编辑链接状态:

#topnavindex        {width:17%;float:left;position:fixed;}
#topnavindex ul     {margin:4% 0 0 10%;}
#topnavindex ul li  {font-size:83%;letter-spacing:3px;margin:0 0 1.7% 0;list-style-type:none;}
#topnavindex a      {font-weight:bold;text-decoration:none;}
#topnavindex a:link {color:#8a523e;}
#topnav a:link      {color:#232323;}
#topnav a:visited   {color:#232323;}
#topnav a:hover     {color:#27a896;}
#topnav a.selected  {color:#27a896;}

当Chrome和Firefox可以正确显示我的网站时,Internet Explorer会忽略选中的link属性。

由于您引用锚的方式(通过父元素),这些CSS规则的样式优先于您的"选定"类。

引用你的"selected"类为(通过父元素,与其他规则的方式相同):

#topnav a.selected 

应该可以让你删除"!"重要的"标记

看着你的JS,你可能想要更具体的开始选择器,而不仅仅是$("a").each。这将最终循环通过你的网站上的每一个链接,你可能会有在未来。你可以简单地在那里添加#topnav,使它只查找相关的锚。

$("topnav a").each...

所以感谢所有帮助我解决这个问题的人。解决方案比预期的要简单。

我必须更改IE设置("高级"-选项卡)为"允许活动内容在我的计算机上运行文件"。之后,IE可以识别javascript !

这个问题只会发生,因为我的文件保存在本地。在一个实时网页上,脚本很可能会为观众工作,而无需更改IE设置。