是否可以向JavaScript DOM对象添加任意属性,例如<INPUT>
或<SELECT>
元素?或者,如果我不能这样做,是否有办法通过引用属性将我自己的对象与页面元素相关联?我可以为DOM对象添加任意属性吗?
28
A
回答
20
当然,人们已经这么做了很久。不推荐,因为它很混乱,你可能会混淆现有的属性。
如果您使用for..in
循环代码,您的代码可能会中断,因为您现在将通过这些新附加属性进行枚举。
我建议使用类似jQuery的.data
这样的元数据附加到对象。如果您不想使用库,请重新执行jQuery.data
15
是的,您可以将自己的属性添加到DOM对象,但请记住小心避免命名冲突和循环引用。
document.getElementById("myElement").myProperty = "my value";
HTML5引入经由标记的元件附接数据的有效方式 - 使用data-
属性前缀。您可以在HTML中使用此方法4号文件没有问题了,但是他们不会验证:
<div id="myElement" data-myproperty="my value"></div>
,您可以通过JavaScript访问使用getAttribute()
:
document.getElementById("myElement").getAttribute("data-myproperty");
4
你想属性添加到对象或元素的属性?
可以使用setAttribute
var el = document.getElementById('myelement');
el.setAttribute('custom', 'value');
添加属性,或者你可以只添加属性的JavaScript对象:
var el = document.getElementById('myelement');
el.myProperty = 'myValue';
1
如果必须,不使用标准的HTML属性。下面是使用自定义属性的教程:
http://www.javascriptkit.com/dhtmltutors/customattributes.shtml
这是HTML5,但它的向后兼容。
6
如果有人在2015年想知道,是的,你可以 - 和 jQuery是做只是在data。只需选择供应商前缀或基于时间的随机后缀(jQuery)等面向未来的名称即可。
相关问题
- 1. 我可以在javascript中为'window'对象添加属性吗?
- 2. 我可以放弃/添加属性吗? Oracle对象类型
- 3. 我可以以任意顺序堆叠QGraphicsScene中的对象吗?
- 4. 我可以在iOS中设置任意属性文件吗?
- 5. 拖放任意DOM对象
- 6. 我可以将字典存储为对象的属性吗?
- 7. OData错误对象是否可以包含任意属性
- 8. jQuery为JavaScript添加新属性DOM对象
- 9. iOS通知 - 对象参数可以是任意任意对象吗?
- 10. 可以使用对象属性吗?
- 11. python对象可以嵌套属性吗?
- 12. 我可以为对象动态创建属性类型和属性名称吗?
- 13. 具有任意属性作为类属性的对象
- 14. 我可以向package.json添加任意数据吗?
- 15. 可以将任意对象抛出为错误吗?
- 16. 在javascript/jquery中添加任意函数给dom对象
- 17. 任意嘲弄对象属性
- 18. 为对象添加额外的属性?
- 19. 添加属性JSON对象
- 20. 添加属性的对象
- 21. 添加属性对象
- 22. 我可以在不删除任何属性的情况下删除对象吗?
- 23. 我可以添加虚拟对象到我的模型吗?
- 24. 我们可以设置一个类的对象的属性吗?
- 25. 我可以在python中更改__name__对象的属性吗?
- 26. 我可以将属性动态应用于对象字段吗?
- 27. 我可以使用属性来确定对象的类吗?
- 28. 我可以通过php POST获取对象的属性吗?
- 29. PHP Kohana3。我可以重命名ORM对象属性吗?
- 30. VBScript可以将属性添加到像JScript这样的对象吗?
酷......是`数据`由jQuery本身使用还是我可以自由地给它分配任何值? – 2010-11-23 16:45:17
`$ .data`由jQuery定义。你可以像`$('#el')。data('key','value')`一样使用它。 – 2010-11-23 16:46:23