获取数据值,如果它等于某个值,则应用一个类

Get data value and apply a class if it equals a certain value

本文关键字:一个 应用 于某个 如果 数据 获取      更新时间:2023-09-26

我有一个家庭作业,需要使用gridster.js,我希望能够检查列表项的data-row属性是否等于某个值,它的data-col属性是否等于一个值。如果它们确实等于期望的值,并且它们的坐标与预期的位置匹配,那么我想向列表项"true"添加一个类。

我目前试图实现这一目标的列表项具有2的初始data-row1data-col,我想检查它是否已移动到data-row 1data-col 1。我试过的代码是这样的:

if ($('.hi').data({row: 1, col: 1})) $('.hi').addClass('true'); }

然而,无论位置如何,这个语句都会导致添加true类。理想情况下,我要做的是检查每个列表项的data-rowdata-col值是否等于正确的值,以及它们是否添加了true类。然后,我计划使用.each方法来检查每个列表项是否有true类,如果有,我想更改包含网格无序列表的div的背景颜色。

那是因为你使用data作为setter,它返回一个jQuery对象,在JavaScript中对象是一个真值,除了data只返回jQuery集合中第一个匹配元素的值,你可以使用filter方法:

$('.hi').filter(function(){
   var $this = $(this);
   return $this.data('row') === 1 && $this.data('col') === 1;
}).addClass('true');
相关文章: