今天我们可以编写包含许多用户控件,jquery插件和大量html元素的大型网页。
有时会有一个jquery插件创建一个div并为其分配Id。当多次使用这种插件时 - 两个元素具有相同id的情况。
使用“name”比使用“id”更好吗?
答案 0 :(得分:3)
通过设计为DOM元素生成相同ID的插件不值得使用 - 它显示了糟糕的编程。好的插件总是使用唯一的ID,例如添加一些索引 所以,不要使用这样的插件。
名称与网络表单之外的元素无关 - 例如<div>
不应该有name
,此属性仅对表单元素有意义,在这种情况下是,更好地将其用作你可以给多个元素命名。
答案 1 :(得分:1)
Id和Name在html / DOM标准中有不同的含义。有关详细信息,请查看问题Difference between id and name attributes in HTML:)
答案 2 :(得分:1)
页面上不应该有两个具有相同ID的元素。例如,当您在jQuery中使用id Selector时,就像这样
$('#id')
它始终只返回一个元素,而不管具有相同id的元素数量。如果必须克隆元素,请动态使用具有类或gerate id的元素。
当您提交数据时,名称很重要:如果两个元素具有相同的名称,则只会发布最新的,除非您使用php支持的数组表示法:
<input type='checkbox' name='ids[]' value='3'>
<input type='checkbox' name='ids[]' value='6'>
在这种情况下,PHP将接收阵列服务器端
答案 3 :(得分:0)
我相信使用jquery元素的类有助于避免很多问题。
如果控件在服务器端运行,并且因此在HTML中以不同方式呈现,则使用名称(尤其是使用ASP.NET)可能会导致问题。