javascript - 将类添加到特定的兄弟元素,而不是页面上出现的每个兄弟元素
问题描述
我有这个函数,可以将一个类添加到主父元素中的兄弟元素。
$(document).on('click', function() {
if ($('#Correct').css('display') == 'block'){
$('div[data-answer="1"]').addClass('test-class');
} else {
}
});
当它执行时,它将一个类添加到具有此属性的任何 div 中,因为相同的代码在页面上出现了多次:
[data-answer="1"]
我想知道是否可以仅将类添加到具有该数据属性的同级 div 中,而不向页面上的所有这些类添加类?如果这有任何意义吗?我是 javascript 新手,所以请多多包涵。
解决方案
使用 .find() 和 .first() 仅获取第一个匹配元素。
$(document).on('click', function() {
if ($('#Correct').css('display') == 'block'){
$('#Correct').find('div[data-answer="1"]').first().addClass('test-class');
} else {
}
});
推荐阅读
- twitter - IFTTT - 排除 Twitter 转推
- javascript - 从查询字符串中检索的查询对象中查找 Mongoose
- django - django restful api - 如何序列化外键
- python - 从 cmd 运行时,pybot 未被识别为内部或外部命令
- sql - 如果我们有很多任务并且每个任务的日期范围可能重叠,如何计算任务的工作天数
- docker - 如何在不使用 docker swarm 或 kubernetes 等调度程序的情况下限制每个主机创建的 docker docker 容器的数量
- python - 日本分词器的模块导入问题
- python - Pyplot散点图干扰线
- azure - 将应用程序洞察添加到无状态服务结构应用程序
- chef-infra - 我可以使用 curl 查询 jmx 端口以检查 jmx 是否正常工作?