将Location.Hash与数组中包含的列表进行比较

时间:2014-04-27 23:49:31

标签: javascript arrays

如何将Window.Location.Hash与数组中包含的列表进行比较以确定“当前位置”?

var exampleArray = ["#home", "#support", "#about"];

页面上还有其他一些锚点,但我只希望那些锚点在导航窗格中更改“当前位置”。

1 个答案:

答案 0 :(得分:1)

最简单的可能是使用Array.prototype.indexOf,如下所示:

var hash = window.location.hash,
    anchorList = ['#index', '#support'];

if( anchorList.indexOf( hash ) > -1 ){
  // anchor is in list, do your thing ...
}

不幸的是,这仅适用于IE9及以上(显然是Chrome,SF,FF)。如果您必须支持IE8(甚至更少),您可以尝试使用polyfill,for循环或使用具有_.indexOf帮助程序的http://underscorejs.org/