如何定位特定数据值

时间:2013-08-30 13:28:12

标签: javascript jquery html html5

我已经为每个网格类分配了数据属性,每个值都是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只将类附加到数组的值。希望有意义!

1 个答案:

答案 0 :(得分:2)

您需要在事件处理程序中使用this来引用所单击的grid元素。如果在处理程序中使用选择器.grid,它将返回页面中第一个grid元素的数据值,而不是当前元素

    $('.grid').click(function () {
        if ($(this).data('value') == 1) {
            $(this).addClass("success");

        } else {
            $(this).addClass("error");
        }

    });

演示:Fiddle