【问题标题】:Use parameter of a function as the key to get the value from an array [duplicate]使用函数的参数作为键从数组中获取值[重复]
【发布时间】:2015-07-12 07:22:16
【问题描述】:

我有一个 javascript/jQuery 设置,其中给出了页面名称。然后一个函数应该接受这个,获取页面的html数据并提醒它。

HTML

var page = $(this).attr('id');
viewPage(page);

function viewPage(page) {
    var html = pages.page;
    alert(html);
}

var pages = {
    page1: 'Content of page.....',
    [etc...]
}

但是,变量html 始终返回未定义。当我从pages 数组手动访问该页面时,它工作正常。有什么问题?

提前致谢!

【问题讨论】:

  • pages[page] 会更好,或者如果 id 是数字 pages["page"+id]

标签: javascript jquery html arrays undefined


【解决方案1】:

您的论点必须作为pages 对象的键进行评估。

试试:

function viewPage(page) {
  var html = pages[page];
  alert(html);
}

当您使用pages.page 时,它会查找关键“页面”。当您执行 pages[page] 时,它会将您的 page 参数评估为任何相等的值,并在 pages 上查找该键。

【讨论】:

  • 完美运行,谢谢!我会在可能的时候接受这个。谢谢!
【解决方案2】:

首先,pages 不是一个数组,它是一个 javascript 普通对象。

其次,你需要使用关联符号,而不是点符号。

function viewPage(page) {
    var html = pages[page];
    alert(html);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-30
    • 2011-09-21
    • 2022-07-23
    • 2015-12-02
    • 1970-01-01
    相关资源
    最近更新 更多