这是一个“最佳做法”问题。我正在仔细阅读Code Review StackExchage网站,我看到了this thread。在其中,Joseph Silber提出了使用括号表示法和完全避开ID的建议,用于具有多个相同结构的表单输入行的表单。
在我读过的关于网页设计/开发的书中,我从未见过这种策略。在标签标签中使用括号表示法和包装输入元素,以及在表单输入中不使用id标签是一个好主意吗?也许有一些关于Javascript / JQuery的东西使这种方法有利吗?
我想直接询问约瑟夫,但我在网站上没有任何声誉,所以我甚至无法发表评论。但是,我有兴趣看到整个社区对此的看法,因为搜索“HTML5括号表示法”和“HTML5 arraylike表示法”之类的东西到目前为止对我来说并不是最直接的。
以上是上述问题的摘要,其中一些示例代码来自链接问题:
为什么要用这个:
<label>Comment:
<input type="text" name="comment[]" width="50" />
</label>
而不是:
<label for="comment-0">Comment: </label>
<input type="text" id="comment-0" name="comment-0" width="50" />
以具有多行相同输入的形式?
答案 0 :(得分:5)
在输入名称末尾粘贴[]
将导致某些服务器端表单处理库将数据显示为数组。其他一些表单处理器不需要特殊语法。您的选择在很大程度上取决于您希望与前者兼容,而不是具有更复杂的名称,并且无法通过JS中的点符号访问元素。
使用子元素而不是for
属性将:
因此,在那里有利有弊,你必须决定它适合你。