【问题标题】:Adding custom ( your own ) properties to DOM objects, OK?向 DOM 对象添加自定义(您自己的)属性,好吗?
【发布时间】:2014-07-19 18:57:12
【问题描述】:
<div id="theDiv"></div>

document.getElementByid('theDiv').myProperty='myValue';

if('undefined'!==typeof document.getElementById('theDiv').myProperty){

是否可以为 DOM 对象提供自定义属性以供以后使用并且跨浏览器兼容?

如果只需要通过 javascript设置和检索属性,可以使用它来代替 setAttribute / getAttribute 吗?

【问题讨论】:

  • 是的,这是完全合法且可以接受的。请注意不要覆盖something default。但是请记住,您可能必须在未来的版本中不断更改它,这将使您的代码维护相当困难。
  • 我创建了一个 jQuery 插件来实现相同的功能。你在用 jQuery 吗?

标签: javascript html object dom properties


【解决方案1】:

编辑 2014/07/21

根据@blgt 评论和我阅读的所有其他内容,似乎future proof 问题是您可能遇到的唯一问题。

实际上,在其上执行 jsperf 显示 it's even a bit faster 而不是 setAttribute / getAttribute


应该评论

也许这个答案可以帮助你:https://*.com/a/3363501/3702797

this question

尤其是this answer

【讨论】:

  • 我知道 setAttrbiute / getAttribute,但是我上面使用的符号有什么问题吗?
  • 更新了答案,但我不是专家,抱歉……
  • “这个答案”特别有用。但我很好奇,除了未来发生碰撞的可能性之外,是否还有任何不利因素。
  • 根据@blgt 评论和我读到的所有其他内容,它似乎是唯一的,事实上,在它上面做一个jsperf 显示it's even a bit faster 而不是setAttribute / getAttribute