我已经为每个网格类分配了数据属性,每个值都是一个不同的数字,范围从 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/