重复值VS document.querySelector

时间:2016-07-11 16:04:38

标签: javascript playframework-2.0

在同一页面上,我使用Play重复值和document.querySelector

举一个最小的例子:

@helper.form(action = routes.MyController.myAction()) {
  <input type="search" id="input[0]" />
  <input type="search" id="input[1]" />
  <input type="search" id="input[2]" />
}

<script language="JavaScript">
  var input = document.querySelector('#input[1]');
  something(input);
</script>

问题是,Play使用该格式input[i]来映射重复的字段,但JavaScript引擎不接受它:

  

SyntaxError:指定了无效或非法字符串

一方或另一方是否有简单的解决方法?

1 个答案:

答案 0 :(得分:1)

在CSS选择器中,方括号用于选择属性。如果你想要字面上匹配它,你必须逃脱它们。

var input = document.querySelector('#input\\[1\\]');

您还可以使用getElementById,它不解析ID。

var input = document.getElementById('input[1]');