将ID粘贴到HTML元素(使用js)而不是id-attribute?

时间:2009-12-06 18:00:28

标签: javascript html

stackoverflow上的第一篇文章。希望一切都好!

我正在考虑通过JavaScript将ID值附加到HTML元素本身,而不是使用HTML id属性。

例如,假设JavaScript变量htmlElement是div。所以htmlElement.cssName会告诉我们它的CSS类。

现在,怎么做

htmlElement.idProperty = "someValue"
在JavaScript中

而不是<div id="someValue">?然后我可以在事件处理程序中使用idProperty

this.idProperty

那很简单!

这样做有什么问题吗?

编辑:谢谢你的答案!非常有帮助和有益。我希望我能检查所有这些绿色!

3 个答案:

答案 0 :(得分:2)

没有,你可以按自己喜欢的方式去做,如果你动态创建这个项目你应该使用这个方法,如果你在html中这样做我建议你只需要输入名字也是html中的id。

然而,一个小小的说明。使用element.id而不是idProperty。

element.id = 'my-id';

答案 1 :(得分:1)

您可以使用createAttribute方法向元素添加id,如下所示:

id = document.createAttribute('id');
id.value = "someValue";
htmlElement.setAttributeNode(id);

答案 2 :(得分:0)

您正在做的是向idProperty对象实例添加运行时属性(在您的情况下,称为HTMLElement)。您可以在JavaScript代码中执行此操作(Prototype库始终执行此操作)。让我感到不舒服,但它确实适用于所有主流浏览器。

如果您希望能够在HTML标记中指定这些,那么我会使用属性。您可以使用您想要的任何名称创建属性,但要小心我会使用data-xyz之类的名称(例如,使用data-前缀),因为这是使用您自己的属性的HTML5标准方式。然后使用getAttribute获取值,setAttribute设置/更新值。