Javascript 当所有同级元素都被单击时,如何计算同级元素上的单击次数并更改CSS?
我的代码是:Javascript 当所有同级元素都被单击时,如何计算同级元素上的单击次数并更改CSS?,javascript,jquery,css,jquery-traversing,Javascript,Jquery,Css,Jquery Traversing,我的代码是: <div class='container'> <label>Label 1</label> <div>1</div> <div>2</div> <div>3</div> <div>4</div> <div>5</div> <label>Label 2 </label
<div class='container'>
<label>Label 1</label>
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
<label>Label 2 </label>
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
</div>
我想知道在每个标签旁边单击了多少个div,并且在单击了所有div之后,我想向该标签添加一个CSS类
例如,当访问者单击标签1更改其类别旁边的所有5个div时,标签2旁边的4个div也是如此
另外,我想知道你在你的要求方面做了哪些尝试。我不知道如何找到标签以及在标签旁边单击的div数。我已经回答了。如果这个问题再次被打开,我希望我能被允许/能够粘贴答案。
$(".container>div").click(function(){
$(this).addClass("clicked");
});
$(function() {
var counter = {};
$(".container>label").each(function(idx) {
var labelItem = "label"+idx;
counter[labelItem]={max:$(this).nextUntil("label").size(), cnt:0, idx:idx};
$(this).nextUntil("label").on("click",function() {
if (this.className!="clicked") {
$(this).addClass("clicked");
counter[labelItem].cnt++;
if (counter[labelItem].cnt >= counter[labelItem].max) {
$(this).parent().find('label').eq(idx).addClass("full").append(" full");
}
$(this).append(" - clicked and added to "+labelItem+": "+counter[labelItem]);
}
});
});
});