jquery - 我可以毫无问题地将 UUID 用作 HTML 标记 ID 吗?

标签 jquery html performance dom uuid

我有动态内容,可通过侧 Pane 上的索引访问,当用户选择侧 Pane 元素时,我使用 id 作为一种机制来确定他们指的是什么数据,因此我可以动态生成主 Pane 的适当数据。

我只是使用了一个预格式化的 id 附加了一个数字,其中数字是数组中的索引,从而为 html 标签创建了唯一的 id。但是在某些情况下我会与数字发生冲突,所以我一直认为使用 UUID 是解决我问题的一种方法。

但是我不知道使用 UUID 作为 html 标签 ID 是否有任何问题。

根据我对有效字符和长度限制的了解,我相信直接而快速的答案是它应该有效。版本 4 使用字符 0-9, a-z and -其中,afaict 是 HTML 标签 ID 的有效字符。此外,长度似乎不是 issue .

我主要担心的是是否存在限制 ID 有效大小的浏览器问题?运行测试并创建值为 2d1b8447-e37a-43d8-9f7c-075eac7d9bcc 的单个 id,甚至创建具有多个的测试都很好。但我无法测试所有将使用该应用程序的浏览器,而且随着时间的推移很难测试性能。我的内容非常动态,可以随着时间的推移删除和添加具有这些 ID 的标签

我尝试搜索已报告的具有大标签 ID 的问题,但一无所获,但通过 Google 没有发现问题并不能证明没有任何问题。

那么...有没有人在 html 标签上使用 UIID 作为 id?如果有,我需要避免您遇到的任何问题吗?

我应该注意到,有证据表明 UUID 与 indexing (InnoDB) 存在性能问题。我担心的是 DOM 操作和将 jQuery 与 UUID 一起使用可能会遇到类似的问题。

干杯。

最佳答案

可以使用 data- 属性完成同样的事情。

例子:

<a href="#" data-UUID="2d1b8447-e37a-43d8-9f7c-075eac7d9bcc" class="product_link">Some product</a>

使用 jQuery 读取 data- 属性:

$('.product_link').click(function(){
     var UUID=$(this).data('UUID');
    /* do something with UUID*/
})

关于jquery - 我可以毫无问题地将 UUID 用作 HTML 标记 ID 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14420601/

相关文章:

java - 重复API调用的持久连接

c++ - 嵌套if ... else语句如何胜过C++中的一系列单选if语句

javascript - 根据 Id 确定元素类型

jquery - 调整 Meteor 中文本区域的大小

javascript - jQuery 动画垂直滚动到一个元素和水平滚动到不同的元素同时从单个哈希标记/变量

javascript - jquery 乘法 - 幕后计算

java - 从文件中快速读取小端整数

jquery - 为这个下拉代码添加一个 jquery 效果

javascript - 指令不会在 AngularJS 中的选项卡选择/页面滚动时触发

javascript - 使用 Angular 计算总和