向HTML元素添加其他信息(元)

时间:2013-11-28 22:19:17

标签: javascript jquery html metadata

我有许多HTML元素(例如按钮),按下时都会执行相同的操作,但我需要事件的每个元素的id。有没有一种很好的方法来存储信息,所以我的脚本可以阻止按钮完全被按下?

我的代码看起来像这样:

<html>
<head>
    <script type="text/javascript" src="jquery.js"></script>
    <script type="text/javascript">
    $(function() {
    $('.myButtons').click(function() {
        var id = // the id of the button
        // do stuff with the id
    });
    }); 
    </script>
</head> class='default'
<body>
<input type='button' class='myButtons' value='Button Id 1' />
<input type='button' class='myButtons' value='Button Id 2' />
<!-- lots more ... -->
</body>
</html>

如果我将其保存为id - 或class - attribut中的数字,我将无法确定该元素是否唯一且ID /类不会是信息量很大。如果您将其另存为标签和ID的组合,例如button14,我需要在获取id之前解析字符串。这不是一个非常好的方法。

2 个答案:

答案 0 :(得分:3)

使用HTML5数据属性存储此信息,例如:

<input type='button' class='myButtons' value='Button Id 1' data-my-id="foo" />
<input type='button' class='myButtons' value='Button Id 2' data-my-id="bar" />

读取属性
$('.myButtons').click(function() {
    var id = this.getAttribute("data-my-id");
});

如果您愿意,可以使用jQuery代替getAttribute

var id = $(this).attr("data-my-id");

答案 1 :(得分:-1)

或者你可以这样做

$(function(){
    $(".myButtons").click(function() {
        alert($(this).attr("value"));
    });
});
相关问题