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