我有这个函数,可以在主父对象的同级元素中添加一个类。
$(document).on('click', function() {
if ($('#Correct').css('display') == 'block'){
$('div[data-answer="1"]').addClass('test-class');
} else {
}
});
执行此操作时,它会将一个类添加到具有此属性的任何div中,因为同一代码会在页面上多次出现:
[data-answer="1"]
我想知道是否可以仅将类添加到具有该data属性的同级div中,而无需将所有类都添加到页面上?如果有任何意义吗?我是javascript新手,请耐心等待。
答案 0 :(得分:1)
使用jquery的siblings()函数
$(document).on('click', function() {
if ($('#Correct').css('display') == 'block'){
$('#Correct').siblings('div[data-answer="1"]').addClass('test-class');
} else {
}
});
答案 1 :(得分:1)
使用.find()和.first()仅获得第一个匹配元素。
$(document).on('click', function() {
if ($('#Correct').css('display') == 'block'){
$('#Correct').find('div[data-answer="1"]').first().addClass('test-class');
} else {
}
});