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

标签 javascript arrays

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

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

页面上还有其他几个 anchor ,但我只希望这些 anchor 更改导航 Pane 中的“当前位置”。

最佳答案

最简单的可能是使用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 循环或使用 http://underscorejs.org/它有一个 _.indexOf 帮助器。

关于javascript - 将 Location.Hash 与数组中包含的列表进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23330448/

相关文章:

javascript - Blogger 上的 JQuery 文档加载问题

javascript - nodejs查询数据和代码组织

c++ - 双指针和指针数组的区别

java - 在 2 个排序数组(每个数组中有 1 个值)中找到值对,其中总和最接近目标值

c - 在 C 中从键盘读取 3 个字符串,但打印时只得到两个字符串?

php - 取消设置数组中的索引将它变成一个对象

javascript - 如何对一个集合中多个文档的值求和并将总和推送到另一个集合中的文档

javascript - 如何在 javascript 中使用带有 youtube spa 技术的 mutationobserver

javascript - 单击 1 次后禁用 onclick()

javascript - 合并2个数组,如果不重复则填充0