【问题标题】:Generating unique IDs in JavaScript在 JavaScript 中生成唯一 ID
【发布时间】:2012-03-21 04:32:58
【问题描述】:

我需要在 javascript 中生成一个保证唯一的 id。原因是,我有一个有多个标签的应用程序。在每个选项卡中都可以是动态构建的表单。我想为每个表单中的复选框使用标签,但由于它是在 dom 中使用多个相同复选框动态构建的,因此我需要每个表单的唯一 ID。如何实现?或者更好的是,有没有一种方法可以在不需要 id 的情况下将标签分配给复选框?

【问题讨论】:

  • 代码是在构建服务器端(php等)还是页面加载后我的javascript?
  • @BenD 全部由 javascript 完成

标签: javascript


【解决方案1】:

或者更好的是,有没有一种方法可以将标签分配给复选框而不需要 id?

是的,您可以将label 元素设为input 的父元素:

<label>My label: <input type="checkbox"></label>

来自HTML5 spec(强调添加):

标签代表用户界面中的标题。字幕可以是 与特定表单控件相关联,称为标签元素的 标记控件,使用for 属性,或通过将表单 label 元素本身内部的控件

还有HTML 4.01 spec

要将标签与另一个控件隐式关联,该控件 元素必须在 LABEL 元素的内容中。在这个 在这种情况下,LABEL 只能包含一个控制元素。

【讨论】:

  • 真的吗?我不知道!让我快点试试
  • 好的,成功了!非常感谢你。这个问题困扰了我多年,但我总是忍受无法点击标签。我会尽快接受答案
  • 没问题,很高兴我能帮上忙 :)
  • 所以问题:这是否意味着这在不支持 html-5 的浏览器中不起作用?
  • @LordZardeck - 根据 HTML 4 规范它也是有效的(我只是链接到 HTML5 规范,因为这是我通常坚持的):w3.org/TR/html4/interact/forms.html#h-17.9.1
【解决方案2】:

使用当前时间作为生成唯一 ID 的方式怎么样?

Create a unique number with javascript time

【讨论】:

  • 虽然我更喜欢使用 James 的方法,但这也是一个很好的答案
猜你喜欢
  • 2017-02-14
  • 2016-08-21
  • 1970-01-01
  • 2012-07-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-22
  • 1970-01-01
相关资源
最近更新 更多