<script>
$(document).ready(function(e) {
$('.btn').click(function(){
alert($(this).val());
});
});
</script>
<style>
.btn{width:20px; height:20px; background:red;}
</style>
<div class="btn" value="a"></div>
<div class="btn" value="b"></div>
<div class="btn" value="c"></div>
我有很多div按钮使用循环创建从db。
试图检测每个按钮的值。所以当用户点击时,我可以从按钮获取值。
我的问题是,是否有任何方法可以将值设置为元素?或者是其他选择吗?
如果我使用隐藏的输入类型,它不可见,如果我使用输入类型按钮,将显示文本的值。
答案 0 :(得分:4)
Div元素不能包含值。这些是用于表单控件。
如果要在属性中存储任意数据,请使用data-
属性。
<div class="btn" data-letter="a"></div>
和
alert($(this).data('letter'));
也就是说,如果你想要一个按钮,那就使用<button>
。浏览器知道它们是互动元素。他们告诉用户他们是互动元素。人们可以专注于他们。屏幕阅读器将公布它们。您可以将其功能作为服务器端备用。
<button value="a">What does this button do?</button>
然后您可以使用.val()
,因为按钮是表单控件。
答案 1 :(得分:1)
如果您想要文字,请使用
alert($(this).text());
如果您想要该值,请使用:
alert($(this).attr('value'));
如果您给div
一个data-value='a'
,那么您可以使用
alert($(this).data('value'));
答案 2 :(得分:0)