我已经为每个网格类分配了数据属性,每个值都是1-64的不同数字。
我想要它,以便它为数据值=“1”的网格类添加一个类“成功”,我只能在没有特定值的情况下获得它。所以它找到了所有称为数据值的数据属性并添加了成功类,但我无法弄清楚如何只将它添加到数据属性为1的类中。
function clickSquare() {
$('.grid').click(function(){
if ( $('.grid').data('value'))
{
$(this).addClass("success");
}
else
{
$(this).addClass("error");
}
});
}
<div data-value="1" class="grid pointer">1</div>
另外,如果我设置一个数组
var values = ['1', '2']
我怎么能这样做,以便jquery只将类附加到数组的值。希望有意义!
答案 0 :(得分:2)
您需要在事件处理程序中使用this
来引用所单击的grid
元素。如果在处理程序中使用选择器.grid
,它将返回页面中第一个grid
元素的数据值,而不是当前元素
$('.grid').click(function () {
if ($(this).data('value') == 1) {
$(this).addClass("success");
} else {
$(this).addClass("error");
}
});
演示:Fiddle