我有许多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之前解析字符串。这不是一个非常好的方法。
答案 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"));
});
});