将价值放入元素中

时间:2014-02-06 09:53:39

标签: jquery html css

<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。

试图检测每个按钮的值。所以当用户点击时,我可以从按钮获取值。

我的问题是,是否有任何方法可以将值设置为元素?或者是其他选择吗?

如果我使用隐藏的输入类型,它不可见,如果我使用输入类型按钮,将显示文本的值。

3 个答案:

答案 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)

使用text代替

alert($(this).text());   

value()仅适用于输入元素