Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/455.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何针对特定的数据值_Javascript_Jquery_Html - Fatal编程技术网

Javascript 如何针对特定的数据值

Javascript 如何针对特定的数据值,javascript,jquery,html,Javascript,Jquery,Html,我为每个网格类分配了数据属性,每个值都是一个不同的数字,范围从1到64 我想要它,以便它向网格类添加一个类“success”,数据值为=“1”,我只能在没有特定值的情况下获得它。因此,它会找到所有名为data value的数据属性,并添加成功类,但我不知道如何仅将其添加到data属性为1的类中 function clickSquare() { $('.grid').click(function(){ if ( $('.grid').data('value')) {

我为每个网格类分配了数据属性,每个值都是一个不同的数字,范围从1到64

我想要它,以便它向网格类添加一个类“success”,数据值为=“1”,我只能在没有特定值的情况下获得它。因此,它会找到所有名为data value的数据属性,并添加成功类,但我不知道如何仅将其添加到data属性为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>

我怎样才能使jquery只将类附加到具有数组值的值上呢。希望这是有意义的

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

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

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

    });

演示:

@arunPJohny但这将针对所有具有值的数据属性的类,而不是那些具有data value=“1”@AlexNewman的类。您需要根据所需的值测试数据值,如
$(this)。data('value')==1
@arunPJohny好的,但我现在如何让它选择变量?所以我希望它选择数组中包含数字的值variable@AlexNewman数组变量和数字是什么意思?@AlexNewman在上述情况下,您希望将类
success
添加到具有
数据值的元素中
1,需要添加其他2个类
error
,我的理解是否正确
    $('.grid').click(function () {
        if ($(this).data('value') == 1) {
            $(this).addClass("success");

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

    });