重复值 VS document.querySelector

Repeated values VS document.querySelector

在同一页面上,我使用播放重复值和 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: An invalid or illegal string was specified

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

在CSS selector中,方括号用于select一个属性。如果要按字面匹配,就得转义。

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

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

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