如何在jquery中找到数据属性

如何在jquery中找到数据属性,jquery,Jquery,Html 如何在这段代码中找到所有的数据id并将它们的类设置为读取?上面这一行行不通find()在孩子们的内心深处贯穿始终。但是,children()要经过第一级children $("#notificationsBody > span").find("[data-id='read']").attr('class', 'read'); 以最佳方式 $("#notificationsBody").chlidren("span[data-id='read']").addClass('read

Html

如何在这段代码中找到所有的数据id并将它们的类设置为读取?上面这一行行不通

find()在孩子们的内心深处贯穿始终。但是,children()要经过第一级children

$("#notificationsBody > span").find("[data-id='read']").attr('class', 'read');
以最佳方式

$("#notificationsBody").chlidren("span[data-id='read']").addClass('read').removeClass('unread');

由于span具有
数据id
,因此不能使用
.find()
,因为它搜索decentant。使用
.filter()
,或者更好地将其放入选择器

您可能还希望使用
.addClass()
而不是
.attr()

如果必须删除类
未读
,可以链接
.removeClass()


我试着运行你的代码,他成功了。

$('.activate')。单击(函数(){
$(“#notificationsBody>span”).find(“[data id='read']”)attr('class','read');
});
li{
显示:无;
}
.读{
显示:块;
}

  • a
  • b

添加读取类
您是否尝试过
.addClass('read')
?我想让大家看看find alsoIs,它是具有
数据id的span
还是span的子span?
$("#notificationsBody").chlidren("span[data-id='read']").addClass('read').removeClass('unread');
$("#notificationsBody span[data-id='read']").addClass("read").removeClass("unread");
$("#notificationsBody > span[data-id='read']").addClass('read');
$("#notificationsBody > span[data-id='read']")
  .addClass('read');
  .removeClass('unread');