【问题标题】:Pass a multidimensional keyed array into javascript via html通过 html 将多维键控数组传递给 javascript
【发布时间】:2015-10-29 21:01:42
【问题描述】:

我的 html 中有这个...

<button onclick="myFunction(array['foo':['bar', 'pub']])">Click Me</button>

但是,浏览器会报错,“SyntaxError: missing ] in index expression”。

我已经检查了缺少的括号,并且非常确定一切都很好,并确保接收功能正常工作(将原始的切换为刚刚用于测试的数组。)

【问题讨论】:

  • 嗯,你应该使用一个对象。

标签: javascript arrays html multidimensional-array


【解决方案1】:

字符串关联对象被称为ObjectsArrays 是一种特定的type 对象,通过数字索引访问它们的元素。对象也使用不同的文字语法,并且都不使用关键字来实例化它们。

<button onclick="myFunction({'foo':['bar', 'pub']})">Click Me</button>

也就是说,您是否研究过“数据-...属性”?

https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Using_data_attributes

【讨论】:

  • 语言切换太多,忘记括号了,谢谢。 :P 至于数据属性,对我的最终目标并没有真正起作用。 (该函数的变量不会在页面上更改,但该函数将在许多不同页面上重复使用...除非我缺少某些数据属性的功能?)
  • 我会这样做。 &lt;button class="canBeClicked" data-foo="bar" data-fi="pub"&gt;,以及在每个页面上查询 canBeClicked 类的一些 JavaScript,并添加一个单击侦听器来检查这些数据属性并采取相应措施。现在你不再绑定onclick 属性,你不需要你的函数是一个全局的,并且你的用户在JS加载之前点击你的按钮不会得到错误。
【解决方案2】:

我不知道你是从哪里找到那个语法的,但它是不对的。你应该使用一个对象。

myFunction({'foo':['bar', 'pub']})

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-27
    • 1970-01-01
    相关资源
    最近更新 更多