设置 HTML 自定义属性与在 ID 属性中存储信息

Setting HTML custom attributes vs storing information in ID attribute

本文关键字:属性 存储 信息 ID HTML 自定义属性 设置      更新时间:2023-09-26

通常当我需要在JavaScript中随机对象(存储在服务器上)的一些ID时,我使用以下方法:

<div id="chat-wrap-29" class="chat-wrap">...</div>
<div id="chat-wrap-28" class="chat-wrap">...</div>

这就是我知道我可以在 JS 脚本中检索聊天包装 ID 并通过服务器上的 AJAX 发送它的方式。为了获得id,我必须检索id属性(this.getAttribute("id")),并在脚本中进行一些字符串操作。

一个更干净的方法是使用这样的东西:

<div class="chat-wrap" chatId = "29">...</div>
<div class="chat-wrap" chatId = "29">...</div>

这样,DOM 中声明的 ID 就会减少,我将避免这种字符串操作。这个解决方案有什么缺点吗?在我所描述的情况下,最佳做法是什么?

谢谢!

如果你打算将数据存储在属性中,你应该使用HTML5 data-*属性 - 这是它们的目的,如规范中所述。

一些JavaScript库,如jQuery,对它们有原生支持。