【问题标题】:Custom attributes自定义属性
【发布时间】:2012-06-13 23:16:37
【问题描述】:

我想获取自定义属性的值。例如,为此:

<div style="-my-data:3;" id="foo" ></div>

我想写这样的东西:

document.getElementById("foo").style.myData;

但它不起作用。我该怎么办?

【问题讨论】:

标签: javascript html


【解决方案1】:

您应该改用HTML5's custom data-* attributes:

<div data-myDataName="3" id="foo"></div>

然后,要通过 JavaScript 获取它,只需使用以下代码:

document.getElementById('foo').getAttribute('data-myDataName'); // '3'

这是小提琴:http://jsfiddle.net/c55nf/


P.S.即使它是 HTML5 的一部分,它仍然可以在旧版浏览器中使用。它只是在 HTML5 中标准化。

【讨论】:

  • 使用 jquery 等效:$('#foo').data('myDataName')
【解决方案2】:

使用html数据属性:

<div data-style="3" id="foo"></div>

然后使用

document.getElementById("foo").getAttribute("data-style");

检索信息

【讨论】:

    【解决方案3】:

    使用HTML custom data attributes:

    HTML:

    <div data-myval="3" id="foo" ></div>​
    

    JavaScript

    alert(document.getElementById("foo").getAttribute('data-myval'));​
    

    请参阅fiddle。

    【讨论】:

      猜你喜欢
      • 2011-03-27
      • 2011-01-24
      • 1970-01-01
      • 1970-01-01
      • 2012-02-15
      • 1970-01-01
      • 2011-08-06
      • 2011-05-26
      相关资源
      最近更新 更多