将自定义属性附加到DOM节点

时间:2010-07-29 14:21:23

标签: javascript html dom

  

可能重复:
  Can I just make up attributes on my HTML tags?

您好,

我不确定我的问题是否可行,但我希望能够在现有的HTML DOM节点中添加自定义(非渲染)属性。

例如,如果我有一个简单的DOM,如下所示:

<body>
 <p>
  <span id="aSpan"></span>
 </p>
</body>

..我希望能够在span'aSpan'中添加自定义属性来存储数字变量。

这可能吗?如果可行,最好的方法是什么?

谢谢,

4 个答案:

答案 0 :(得分:13)

当然,我一直这样做。你可以在html:

中完成

<span id="aSpan" attname="attvalue">

(验证员不喜欢这个,但从技术上来说它不是有效的HTML,但它有效)

或通过javascript:

element.setAttribute('attname', 'attvalue');

您可以阅读:

element.getAttribute('attname');

答案 1 :(得分:2)

请查看the duplicate question,了解为什么不这样做以及如何在HTML 5中合法地完成此操作。

尽管您将收到验证错误,但使用jQuery可以使用$.attr()函数:

$('.element').attr('foo', 'bar')

答案 2 :(得分:1)

我不清楚Javascript,但jQuery有data function

$('#aSpan').data('foo', 69);

alert($('#aSpan').data('foo')); 

答案 3 :(得分:0)

一种简单的方法..如果你的页面是dinamic ..你可以简单地为你的ID添加一个值

一个小例子如果我理解得很好,你可以在课堂上使用它,假设我们有一个56有ID

<body>
 <p>
  <span id="aSpan" class="A54F23345A56A23524234"></span>
 </p>
</body>

我只是做了一个字符串ID'A54F23345A'+ 56 +'A23524234'

但你可以使用它,如果你愿意..并且id对用户是隐藏的..你可以使用更安全的脚本..但如果不是安全问题..它就像一个魅力^^

度过愉快的一天