javascript - 我如何定位特定数据值

标签 javascript jquery html

我已经为每个网格类分配了数据属性,每个值都是一个不同的数字,范围从 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 只将类附加到数组的值。希望这是有道理的!

最佳答案

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

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

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

    });

演示:Fiddle

关于javascript - 我如何定位特定数据值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18534107/

相关文章:

javascript - 如何在元素上添加监听器以在元素发生任何更新时触发事件?

python - 为什么在我使用 Google App Engine 呈现 html 文件后我的 html 文件中没有处理我的 css 命令?

html - 在 float div 上垂直居中对齐。容器有最小高度

javascript - 使用包含选项拖动时引导模式消失

javascript - request.FILES 为空,Django Rest Framework FileUploadParser 和 Angular 文件上传

javascript - 如何在不关闭其他 Accordion 的情况下逐步折叠/展开 Accordion ?

javascript - .click() 不适用于页面加载但适用于控制台

javascript - 用于向上或向下重定向级别的按钮/链接

javascript - 如何使用 javascript 以 html 形式显示文本文件中的文本

html - 在动态水平菜单下居中静态宽度垂直子菜单