HTML,自定义元素属性,适用于所有浏览器吗?

时间:2011-11-04 13:13:18

标签: jquery html

我创建了一个插件,我希望在HTML元素中有一些额外的属性。我知道如果我创建自己的自定义属性,HTML文档将无效,但这不是问题。我只是想知道,在这种情况下,使用jQuery访问该属性是否可行?

即:

<div id="c" my-custom-attr="myValue" data-my-custom-attr="another-value">
    Content here
</div>

<script type="text/javascript">
    $att1 = $('#c').attr('my-custom-attr');
    $att2 = $('#c').attr('data-my-custom-attr');
</script>

上述代码会对任何浏览器造成任何问题吗? :

2 个答案:

答案 0 :(得分:3)

虽然没人能说它可以在所有浏览器中使用;您的代码不应该在主要的现代浏览器中导致任何问题。我建议您使用data-* HTML5命名约定,就像在第二个示例中所做的那样。

作为旁注;在第二个示例中,您可以使用jQuery 1.4.3 +

以两种方式访问​​该属性
<div id="c" data-my-custom-attr="another-value">
    Content here
</div>

<script type="text/javascript">
    // Both produce the same output //
    console.log($('#c').attr('data-my-custom-attr'));
    console.log($('#c').data('my-custom-attr'));
</script>

我希望它有所帮助!

答案 1 :(得分:2)

看一下jQuery的data方法。您可以使用它来存储元素的属性。 http://api.jquery.com/data/