Met*_*kin 5 html performance jquery uuid dom
我具有可通过侧窗格上的索引访问的动态内容,当用户选择侧窗格元素时,我使用id作为一种机制来确定他们所指的数据,因此我可以动态生成适当的数据用于主窗格。
我只是使用带有数字的预格式化id,其中数字是数组中的索引,因此为html标签制作了唯一的id。但是在某些情况下,我会与数字产生冲突,因此我一直认为使用UUID将是解决我的问题的一种方法。
但是,我不知道将UUID用于html标记ID是否有任何问题。
我相信,根据我对有效字符和长度限制的了解,立即有效的答案应该是可行。版本4使用0-9,az和-字符,而 afaict是HTML标记ID的有效字符。长度似乎也不成问题。
我主要关心的是是否存在浏览器问题,这些问题限制了id的有效大小?运行测试并创建值为的单个ID 2d1b8447-e37a-43d8-9f7c-075eac7d9bcc甚至创建多个测试都可以。但是我无法测试将要使用该应用程序的所有浏览器,并且很难随时间测试性能。我的内容非常动态,带有这些ID的标签可以随着时间的推移而删除和添加
我尝试过搜索带有大标签ID的报告问题,但没有发现任何问题,但是通过Google缺少问题并不表示没有任何问题。
那么...有人在html标签上使用过UIID作为ID的标识吗?如果有,我是否需要避免遇到任何问题?
我应该注意,有证据表明UUID在索引(InnoDB)方面存在性能问题,我担心的是DOM操作以及将具有ID的jQuery用作UUID使用jQuery可能会遇到类似的问题。
干杯。
可以使用data-属性完成相同的事情。
例子:
<a href="#" data-UUID="2d1b8447-e37a-43d8-9f7c-075eac7d9bcc" class="product_link">Some product</a>
Run Code Online (Sandbox Code Playgroud)
data-使用 jQuery读取属性:
$('.product_link').click(function(){
var UUID=$(this).data('UUID');
/* do something with UUID*/
})
Run Code Online (Sandbox Code Playgroud)
我使用 UUID 作为元素 ID,CSS 选择器对我来说会失败,因为 ID 似乎必须以字母而不是数字开头,以便能够对它们执行有效的基于 CSS id 选择器的查询。
document.querySelectorAll('#fd759ae2-c0ed-4de5-80fd-932c814a53c7 > div') # works
document.querySelectorAll('#81ea82f5-9a6f-4ae3-93e3-a5ef3579c554 > div') # fails
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2755 次 |
| 最近记录: |